1, 2, 3 ... 을 계속 더해 나갈 때, 그 합이 입력한 정수(0 ~ 1000)보다 같거나 작을 때까지 계속 더하는 프로그램을 작성해보자.
즉, 1부터 n까지 정수를 계속 더한다고 할 때, 어디까지 더해야 입력한 수보다 같거나 커지는지 알아보고자 하는 문제이다.
입력
정수 1개가 입력된다.
55
출력
1, 2, 3, 4, 5 ... 를 순서대로 계속 더해 합을 만들어가다가, 입력된 정수와 같거나 커졌을 때, 마지막에 더한 정수를 출력한다.
10
<풀이>
더보기
내가 쓴 풀이
n = int(input())
i = 0
total = 0
while total<n:
i += 1
total += i
print(i)
처음에 while문에 조건식 부호를 반대로 써서 실행되지 않아 결과가 0이 나왔었다.
while문은 조건문이 참이 되어야 실행한다는 것을 잊지 말자!
강의 풀이
end_point = int(input())
# 1번 풀이
total = 0
i = 0
while total < end_point:
i += 1
total += i
print(i)
# 2번 풀이
total = 0
for i in range(1, end_point+1):
total += i
if total >= end_point:
print(i)
break
<풀이 비교>
입력 받는 변수이름을 어떻게 해야 할지 몰라서 n으로 했는데 강의를 보니 어떤 변수인지 직관적으로 알 수 있는 네이밍을 했다. 나도 이렇게 딱 보면 어떤 변수인지 알 수 있게 코드를 짜도록 노력해야겠다.
'Python > CodeUp' 카테고리의 다른 글
코드업 기초 100제 82번 - 16진수 구구단 (0) | 2021.11.22 |
---|---|
코드업 기초 100제 81번 - 주사위를 2개 던지면? (0) | 2021.11.22 |
코드업 기초 100제 79번 - 원하는 문자가 입력될 때까지 반복 출력하기 (0) | 2021.11.22 |
코드업 기초 100제 78번 - 짝수 합 구하기 (0) | 2021.11.22 |
코드업 기초 100제 76번 (0) | 2021.11.22 |