출처 : https://www.acmicpc.net/problem/1789
1789번: 수들의 합
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
www.acmicpc.net

최댓값을 출력하는거라 1부터 시작해서 1씩 더해준 값을 총 합에서 빼줬다.
그리고 마지막에 0으로 떨어지지 않는다면 그때의 값(tem-1)을 이전 값과 더해줬다.
# BOJ1789 수들의 합
S = int(input())
ans = 0
tem = 1
ck = 0
while True:
if S - tem == 0:
ans = tem
break
elif S - tem > 0:
S -= tem
tem += 1
elif S - tem < 0:
ck = 1
break
if ck == 1:
print(ans + tem -1) # 위에서 tem + 1 해줬기때문에
else:
print(ans)'알고리즘 > BOJ' 카테고리의 다른 글
| [BOJ / 백준] 1371번 가장 많은 글자 python / 파이썬 카운팅 정렬 구현 (0) | 2022.07.29 |
|---|---|
| [BOJ / 백준] 1032번 명령프롬프트 python / 파이썬 문자열 리스트 (0) | 2022.07.29 |
| [BOJ / 백준] 4592번 중복을 없애자 python / 파이썬 (0) | 2022.07.28 |
| [BOJ / 백준] 15654번 N과 M (5) python / 파이썬 조합 (0) | 2022.07.28 |
| [BOJ / 백준] 2864번 5와 6의 차이 python / 파이썬 문자열 치환 (0) | 2022.07.27 |
댓글