문제링크 : https://www.acmicpc.net/problem/1789
조금만 생각하면 금방 풀수있었다
s = int(input())
sum = 0
count = 0
num = 1
while True:
if s == sum:
break
sum += num
num += 1
count += 1
if s - sum < num:
break
print(count)
근데 너무 조금 생각했다.
수들의 합 공식을 사용하면 훨씬 간단하게 할수 있다
s = int(input())
n = 1
#자연수 합 공식
while (n+1)*n / 2 <= s:
n += 1
#반복문 탈출 시 n 은 원하는 값보다 커서 -1 함
print(n - 1)
'알고리즘' 카테고리의 다른 글
python 백준1339 단어수학(BOJ1339) (0) | 2022.08.01 |
---|---|
python 백준1946 신입사원(BOJ1946 ) (0) | 2022.07.31 |
python 백준2217 로프(BOJ2217) (0) | 2022.07.25 |
python 백준2839 설탕배달(BOJ2839) (0) | 2022.07.25 |
JAVA 백준2470 두 용액(BOJ2470) (0) | 2022.03.13 |