[BOJ] 설탕 배달
❗ 풀이 과정
- 아래의 사진 참고
- 가장 왼쪽은 +3 이고 오른쪽으로 가는 건 +5라고 했는데
그 반대로 가장 오른쪽은 +5이고 왼쪽은 +3이라고 생각해도 된다.
전자는풀이코드 1
이고 후자는풀이코드 2
라고 생각하면 될듯하다.
🤜 풀이 코드 1 (틀렸습니다.)
from math import ceil
N=int(input())
dp=[]
dp.append([3,5])
stat=0
answer=0
for i in range(N//5+1):
arr=dp[i]
new_arr=[]
for a in arr:
if arr.index(a)==0:
new_arr.append(a+3)
new_arr.append(a+5)
else:
new_arr.append(a+5)
dp.append(new_arr)
for d in dp:
answer+=1
if N in d:
print(answer)
stat=1
if stat==0:
print(-1)
( 주어진 테스트 케이스는 다 돌아가는데,, 채점하면 안돌아가는 코드,,, 왜일까,,,)
🤜 풀이 코드 2 (맞았습니다!)
N=int(input())
cnt=0
while(N>0):
if N%5==0:
cnt+=N//5
N-=(N//5)*5 # 그냥 N=0 이라는 뜻
else:
N-=3
cnt+=1
if N==0:
print(cnt)
else:
print(-1)
Author And Source
이 문제에 관하여([BOJ] 설탕 배달), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bobsini601/BOJ-설탕-배달저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)