2024년 4월 30일 알고리즘 문제풀이
문제
난이도
실버 5
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import sys
def check(num: int):
cnt = 1
for i in range(2,num):
tmp = num
for _ in range(i):
tmp -= 1
tmp *= (i-1)
if not tmp%i:
tmp //= i
else:
break
else:
cnt = i
return cnt
while True:
n = int(sys.stdin.readline())
if n == -1:
break
tmp = check(n)
if tmp < 2:
print(f"{n} coconuts, no solution")
else:
print(f"{n} coconuts, {tmp} people and 1 monkey")
문제에서 처리하는 순서대로 그대로 구현했다. 약간 헷갈렸던건, 예시에선 5명이였는데 인원수대로 처리하면 된다는 걸 생각못하고 무조건 5명이라 생각했다..