[BOJ] 백준_1789번_수들의 합_Python3백준 알고리즘2023. 11. 30. 10:17
목차
🌟 수들의 합
조건
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
2 초 | 128 MB | 55593 | 22671 | 19210 | 41.722% |
문제
서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?
입력
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
출력
첫째 줄에 자연수 N의 최댓값을 출력한다.
예제 입력 1
200
예제 출력 1
19
풀이
def solution():
n = int(input())
answer = 0
temp = 0
for i in range(1, n+1):
temp += i
answer += 1
if temp > n:
answer -= 1
temp -= (temp - n)
break
elif temp == n:
break
return answer
print(solution())
고민
1부터 n까지 하나씩 temp에 계속 더해주면서 answer를 1 증가한다. temp가 n보다 커졌을 경우 answer에서 1을 빼고 리턴, temp가 n과 같아졌을 경우 answer를 그냥 리턴한다. 반복문에서 range(1, n)이라고 하고 돌렸더니 틀렸다고 나왔었다. n이 1일 경우 answer가 아무것도 리턴되지 않기 때문이었다. 그래서 n+1로 수정해주었다.
728x90
반응형
LIST
'백준 알고리즘' 카테고리의 다른 글
[BOJ] 백준_13305번_주유소_Python3 (0) | 2023.12.02 |
---|---|
[BOJ] 백준_10448번_유레카 이론_Python3 (0) | 2023.12.01 |
[BOJ] 백준_10817번_세 수_Python3 (0) | 2023.11.29 |
[BOJ] 백준_2751번_수 정렬하기 2_Python3 (3) | 2023.11.28 |
[BOJ] 백준_2303번_숫자 게임_Python3 (4) | 2023.11.27 |
@kdj :: Childev'note
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!