Python/CodeUp

코드업 기초 100제 80번 - 언제까지 더해야 할까?

Lami 2021. 11. 22. 18:52

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으로 했는데 강의를 보니 어떤 변수인지 직관적으로 알 수 있는 네이밍을 했다. 나도 이렇게 딱 보면 어떤 변수인지 알 수 있게 코드를 짜도록 노력해야겠다.