유형 : 탐색
[예제]
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)
반응형
'Python' 카테고리의 다른 글
[백준] 1668번 : 트로피 진열 (0) | 2022.01.03 |
---|---|
[백준] 1302번 : 베스트셀러 ☆ (0) | 2022.01.03 |
[백준] 1543번 : 문서 검색 (0) | 2022.01.03 |
[백준] 11004번 : K번째 수 (0) | 2022.01.03 |
[백준] 2751번 : 수 정렬하기 2 (0) | 2022.01.03 |
댓글