문제
코드
My answer
import sys
input=sys.stdin.readline
n=int(input())
dp=[0 for i in range(n+1)]
for i in range(1,n+1):
if(i>=7):
dp[i]=min(dp[i-1],dp[i-2],dp[i-5],dp[i-7])+1
elif(i>=5):
dp[i]=min(dp[i-1],dp[i-2],dp[i-5])+1
elif(i>=2):
dp[i]=min(dp[i-1],dp[i-2])+1
else:
dp[i]=dp[i-1]+1
print(dp[n])
Another answer
a=int(input())
print((a+13)//7 if a==3 or a%7 in(4,6)else(a+6)//7)
풀이
난 정석적인 dp로 풀었는데 저 another answer은 뭘까..그들은 어떤 규칙을 찾아내는 것일까..숏코딩은 무섭다..
728x90
반응형
'코딩테스트 > 백준[Python]' 카테고리의 다른 글
[Python] 백준 #15489- 파스칼 삼각형 (0) | 2022.01.07 |
---|---|
[Python] 백준 #20152- Game Addiction (0) | 2022.01.07 |
[Python] 백준 #2748- 피보나치 수 2 (0) | 2022.01.06 |
[Python] 백준 #2839- 설탕 배달 (0) | 2022.01.06 |
[Python] 백준 #2422 -한윤정이 이탈리아에 가서 아이스크림을 사먹는데 [try_again] (0) | 2022.01.05 |