🔢 문제 요약
- 자연수들을 서로 다른 수로 계속 더해서 어떤 수 S를 만들려고 해.
- 만들 수 있는 가장 많은 자연수의 개수를 구하는 문제야.
💡 아이디어
- 예를 들어서 S = 20이면,
1 + 2 + 3 + 4 + 5 = 15 → 아직 괜찮음
1 + 2 + 3 + 4 + 5 + 6 = 21 → 초과함
→ 이 경우 답은 5 - 즉, 1부터 계속 더하면서 합이 S를 넘지 않게 하고,
- 그때까지 더한 숫자의 개수를 세면 되는 문제야.
구현 시 주의할 건:
- 합이 S를 넘는 순간 바로 중단
- 자연수는 1부터 시작!
a = int(input())
total = 0
count = 0
while True:
count += 1
total += count
if total > a:
break
print(count-1)
'매일 BOJ' 카테고리의 다른 글
| (매일 BOJ) Python 1157번 단어 공부 (0) | 2025.03.23 |
|---|---|
| (매일 BOJ) Python 11650 좌표 정렬하기 (0) | 2025.03.23 |
| (매일 BOJ) Python 4673번 셀프 넘버 (0) | 2025.03.21 |
| (매일 BOJ) Python 2751번 수 정렬하기 2 (0) | 2025.03.21 |
| (매일 BOJ) Python 1316번 그룹 단어 체커 (0) | 2025.03.21 |