6086 [기초-종합] 거기까지! 이제 그만~
Codeup이란?
코드업은 국내의 한 정보 교사가 알고리즘 교육을 목적으로 운영하는 사이트입니다.
난이도가 낮고 문제가 많아 처음 코딩 테스트를 입문하려는 사람들에게 좋습니다.
문제가 쉽다고 무시하지 말고 코딩테스트는 어떤 형태로 나오는지, 문법은 무엇인지 연습하기 좋으며 쉬운 문제를 풀어가면서 문제풀이에대한 자신감을 키우기 좋기 때문에 입문자는 코드업 사이트의 [홈] - [기초100제] - [Python 기초100제]
를 꼭 풀어보도록 합시다.
문제
1, 2, 3 … 을 순서대로 계속 더해 합을 만드는데,
그 합이 입력한 정수보다 작을 동안만 계속 더하는 프로그램을 작성해보자.
즉, 1부터 n까지 정수를 하나씩 더해 합을 만드는데,
어디까지 더해야 입력한 수보다 같거나 커지는지 알아보고자 하는 문제이다.하지만, 이번에는 그 때 까지의 합을 출력해야 한다.
예를 들어, 57을 입력하면
1+2+3+…+8+9+10=55에서 그 다음 수인 11을 더해 66이 될 때,
그 값 66이 출력되어야 한다.
예시
... while True : s += c c += 1 if s>=n : break print(s)
참고
조건문이나 반복문의 코드블록 안에서 break 가 실행되면,
반복실행을 중단(break)하고, 가장 가까운 반복 블록의 밖으로 빠져나간다.
입력
언제까지 합을 계산할 지, 정수 1개를 입력받는다.
단, 입력되는 자연수는 100,000,000이하이다.
예시
57
출력
1, 2, 3, 4, 5 … 순서대로 계속 더해가다가, 그 합이 입력된 정수보다 커지거나 같아지는 경우,
그때까지의 합을 출력한다.
예시
66
내 답안
Click to expand!!
n = int(input())
s = 0
i = 1
while True:
s += i
i += 1
if s >= n:
break
print(s)
Disqus