좀 복잡하지만 조건을 여러개 세워서 풀었습니다.
n = int(input())
cnt = 0
pass_flag = False
m = n
if m%5 == 0:
cnt = m//5
else:
if m<5 and m%3 != 0:
cnt = -1
elif m == 3:
cnt = 1
else:
if m>5:
temp = m//5
while 1:
m = n
m -= (5*temp)
if m % 3 == 0:
cnt += temp
cnt += m//3
pass_flag = True
break
temp -= 1
if temp < 0:
break
if pass_flag == False:
m = n
if m % 3 == 0:
cnt += n//3
else:
cnt = -1
print(cnt)
아래는 1년전 풀이인데 더 간단하게 풀었더라고요,,, 퇴화하는 실력..?
n = int(input())
s=0
if n==4 or n<3:
print(-1)
else:
a = n//5
b = n%5
while(1):
if b==0:
print(a)
break
if b%3==0:
c=b//3
print(a+c)
break
else:
a = a-1
b = n-a*5
if a<0 and n%3!=0:
print(-1)
break
if a<=0 and n%3==0:
print(n//3)
break
결과
'코딩문제' 카테고리의 다른 글
[프로그래머스] [1차] 프렌즈4블록 (Python) (0) | 2022.06.09 |
---|---|
프로그래머스 괄호 변환 (Python) (0) | 2022.06.02 |
[Leetcode] 237. Delete Node in a Linked List (0) | 2022.03.20 |
[Leetcode] 54. Spiral Matrix (Python) (0) | 2022.01.24 |
백준 [6571번] 피보나치 수의 개수 (Python) (0) | 2022.01.11 |