https://www.acmicpc.net/problem/2839
n = int(input())
def solution(n):
cnt = 0
while n > 0:
if n % 5 == 0:
n -= 5
cnt += 1
elif n % 3 == 0:
n -= 3
cnt += 1
elif n > 5:
n -= 5
cnt += 1
else:
if n % 5 != 0 and n % 3 != 0:
return -1
else: cnt += 1
break
return cnt
print(solution(n))
1. n > 0 케이스의 while문을 돌려줍니다.
- 첫 n이 5의 배수인 경우: n -=5, cnt += 1
- 3의 배수인 경우: n -=3, cnt +=1
- 5 또는 3의 배수가 아니고 5보다 큰 경우: n -=5, cnt +=1
- 위의 케이스에 전부 속하지 않을 경우:
- 5보다 작고, 5 또는 3의 배수가 아니면 (즉 5나 3이 아니면) -1을 출력합니다.
- 그게 아니면 cnt += 1을 해줍니다.
2. 최종적으로 n을 출력합니다.
'Algorithm' 카테고리의 다른 글
[파이썬] 백준 17269번: 이름궁합 테스트 (0) | 2023.12.25 |
---|---|
[파이썬] 백준 9037번: The candy war (0) | 2023.12.16 |
[파이썬] 백준 1072번: 게임 (0) | 2023.12.12 |
[파이썬] 백준 1157번: 단어 공부 (0) | 2023.11.26 |
[파이썬] 백준 1436번: 영화감독 숌 (0) | 2023.11.21 |