백준 1789 수들의 합

김민영·2023년 1월 16일
0

알고리즘

목록 보기
72/125

과정

  • 1부터 해당 수까지 계속 더해나간다.
  • 더한 값이 해당 수면, 그 때까지 더한 수 개수를 출력
  • 더한 값보다 커지면, 그 때까지 더한 수 개수 -1 을 출력

설명

  • 만일 13이 N으로 주어진다면, 1, 2, 3, 4 까지 더하고, 5를 더하는 순간 15가 되어 13보다 커진다. 이러한 경우, 수를 추가로 더할 수 없고, 기존에 더했던 수를 큰 수로 바꾸는 방식으로 수를 만들어야한다.
  • 수를 추가할 수 없으므로 그 때의 더한 수 개수가 답이 된다.
N = int(input())
ans = 0
for i in range(1, N+1):
    ans += i
    if ans == N:
        print(i)
        break
    elif ans > N:
        print(i-1)
        break
  • 1이 주어지는 경우를 주의한다.
profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글