세상을 바꾸는 데이터

[백준 1789번] 수들의 합 - 파이썬 본문

PS Study/BOJ(백준)

[백준 1789번] 수들의 합 - 파이썬

Industriousness 2022. 1. 21. 23:05

 

문제 링크:

https://www.acmicpc.net/problem/1789

 

1789번: 수들의 합

첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.

www.acmicpc.net

 

 

문제 풀이:

  • 1부터 차례대로 순서대로 더하면서 횟수(ans) +1씩 증가시킨다. 입력값이 sum보다 작아지면 종료  

코드 1


# 1789번 수들의 합

s = int(input())

sum = 0
i = 1
ans = 0

# 입력값(s)이 1부터 차례대로 더한 값(sum)보다 작아지면 종료
while s >= sum:
  sum += i
  i += 1
  ans += 1

# while문을 마지막에 1번 더 반복했으므로 정답값에 -1 빼기
print(ans-1)

 

코드 2 합의 공식 이용

1부터 n까지의 합의 공식: n * (n + 1) / 2


s = int(input())
n = 1
while n * (n + 1) / 2 <= s:
    n += 1
print(n - 1)

 

 

[백준 1789번] 수들의 합 - 파이썬

728x90
반응형
Comments