Python
[백준] 1568번 : 새
Leunco
2022. 1. 3. 17:14
유형 : 탐색
[예제]
14
[출력]
1
1. 내 풀이
N = int(input())
cnt = 0
k = 1
while True:
if N < k:
k = 1
N -= k
cnt += 1
k += 1
if N == 0:
break
print(cnt)
2. 다른 풀이
출처 : 패스트캠퍼스 - 알고리즘 / 기술면접 완전 정복 올인원 패키지 Online
** 핵심 아이디어
1. N이 최대 1,000,000,000이다.
2. K가 반복적으로 증가하므로, 날아가는 새의 마리 수는 빠르게 증가한다.
3. 따라서 문제에서 요구하는 대로 단순히 구현하여 정답 처리를 받을 수 있다.
n = int(input())
result = 0
k = 1
while n != 0:
if k > n:
k = 1
n-=k
k += 1
result += 1
print(result)
반응형