선반에 쌓인 상자 수
문제
한 창고에는 선반이 아래에서 위로 여러 층 쌓여 있다. 이 선반을 채우는 규칙은 간단하다. 1층에는 상자를 1개 올리고, 2층에는 2개, 3층에는 3개를 올린다. 즉 k층에는 상자가 k개 놓인다. 층이 올라갈수록 선반이 넓어져서 더 많은 상자가 들어가기 때문이다.
창고 관리자는 재고를 셀 때마다 선반에 올라가 상자를 하나씩 세었다. 그러나 선반이 높아지면서 이 방식으로는 시간이 너무 오래 걸렸다. 관리자가 알고 있는 것은 선반이 몇 층까지 쌓였는지뿐이다. 다행히 채우는 규칙이 정해져 있으므로, 층수만 알면 전체 상자의 수를 셀 수 있다.
선반의 층수 n이 주어졌을 때, 1층부터 n층까지 놓인 상자의 총 개수를 출력하는 프로그램을 작성하여라.
예를 들어 n=10층이라고 해보자. 각 층에 놓인 상자의 수와, 1층부터 그 층까지의 상자를 더해 나간 값은 다음의 표와 같다.
| 층 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 상자 수 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 더해 나간 값 | 1 | 3 | 6 | 10 | 15 | 21 | 28 | 36 | 45 | 55 |
10층까지 더해 나간 값이 55이므로, 이 경우의 정답은 55다.
다른 층수의 결과까지 함께 표로 정리하면 다음과 같다.
| 층수 | 1 | 3 | 10 | 100 | 1,000 |
|---|---|---|---|---|---|
| 상자의 총 개수 | 1 | 6 | 55 | 5050 | 500500 |
선반이 1층뿐일 때에도 답은 0이 아니라 1이다. 층수가 커지면 상자의 총 개수도 빠르게 커진다.
입출력 예시
예시 1
입력
10
출력
55
예시 2
입력
3
출력
6
예시 3
입력
10000
출력
50005000
입력 조건
가장 먼저 첫째 줄에 선반의 층수 n이 자연수로 주어진다. n은 1 이상 10,000 이하의 자연수다. 입력으로 주어지는 줄은 이 한 줄뿐이며, 각 층에 놓인 상자의 수가 따로 주어지지는 않는다. k층에 상자가 k개 놓인다는 규칙에서 각 층의 상자 수를 알아내야 한다. n이 1로 주어질 수도 있다. 선반의 너비나 상자의 크기 같은 값은 주어지지 않는다.
출력 조건
1층부터 n층까지 놓인 상자의 총 개수를 첫째 줄에 자연수 형태로 출력한다. 수 하나만 찍고 줄을 바꾸며, 수 뒤에 공백을 붙이지 않는다. 천 단위 쉼표는 찍지 않고 단위도 적지 않는다.
요구사항
- 입력은 한 줄이고, 수 하나가 주어집니다
- n은 1 이상 10,000 이하의 자연수입니다
- k층에는 상자가 k개 놓입니다
- 답은 수 하나이며 한 줄에 출력합니다
- 천 단위 쉼표 없이 수만 찍습니다
- 표준 입력으로 읽고 표준 출력으로 내보내는 프로그램을 짜야 합니다
- 쓸 수 있는 말은 파이썬, 자바스크립트입니다
- 메모리 제한은 256MB입니다. 브라우저에서는 재지 않고 적기만 합니다
- 시간 제한은 출제자의 정답 코드를 같은 런타임에서 재서 정합니다
- 이 문제는 프롬프트가 아니라 코드를 냅니다. 그 코드는 이 기기의 브라우저에서 돌고, 서버로는 나온 출력의 지문과 걸린 시간만 갑니다. 맞았는지는 서버가 정합니다. 실행 시간은 각자 기기가 적어 보내는 값이라, 코드와 기기 정보를 순위표에 같이 내걸어 둡니다.
- 출력이 글자 하나까지 기대값과 같아야 합니다. 줄 안의 빈칸은 다른 글자와 똑같이 봅니다.
- 케이스는 15개이고, 그 가운데 3개는 입력과 기대 출력을 함께 보여 줍니다. 나머지는 제출할 때만 쓰이고 화면에는 보여 주지 않습니다.
- 케이스 15개를 전부 통과해야 해결입니다.
예시
공개 케이스 3개입니다. 채점에는 숨은 케이스가 함께 쓰입니다. 케이스 15개를 전부 통과해야 해결입니다.
3
6
10
55
10000
50005000
풀이
코드는 이 기기에서돕니다. 서버로는 나온 출력의 지문과 걸린 시간만 갑니다. 맞았는지는 서버가 정합니다.
제출은 로그인 하셔야 됩니다. 공개 케이스로 돌려보는 것은 로그인 없이도 됩니다.
공개 케이스 3개로 돌려보기가 됩니다. 제출하면 숨은 케이스까지 돕니다.
이 문제를 푼 사람
시간은 푸는 데 걸린 시간입니다. 입력을 읽는 시간은 푸는 분이 어쩔 수 없는 값이라 빼고 셉니다. 그리고 이 값은 각자 기기가 적어 보내는 값이라, 어느 기기에서 쟀는지 같이 적어 둡니다.
이 분이 코드를 비공개로 두셨습니다.