문제 :
https://www.acmicpc.net/problem/1292
1. 문제 이해하기
- 1부터 연속하는 숫자가 숫자의 개수만큼의 집합이 있습니다. (ex. 1 2 2 3 3 3 4 4 4 4...)
- 입력으로 구간의 첫 번째와 마지막 번째가 주어질 때, 구간에 속하는 숫자의 합을 출력
- 두 숫자는 1 이상 1000 이하
2. 문제 풀이 생각하기
- 연속된 숫자의 숫자 개수만큼의 1에서 1000까지 만들었습니다. (1000번째가 1000은 아닙니다.)
- 배열의 슬라이싱을 통해서 새로운 배열을 만듭니다.
- 그 배열의 합을 출력합니다.
3. 차근차근 구현하기
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
arr = []
for i in range(1, 1001):
for j in range(i):
arr.append(i)
print(sum(arr[n - 1 : m]))
4. 피드백
- 문제 이름만큼 그리 어려운 문제는 아니었던 것 같습니다.
'Algorithm > Python' 카테고리의 다른 글
[백준 1937] 욕심쟁이 판다 (Python) (0) | 2021.08.20 |
---|---|
[백준 12100] 2048(Easy) (Python) (0) | 2021.07.11 |
[백준 8911] 거북이 (Python) (0) | 2021.07.10 |
[백준 1089] 스타트링크 타워 (Python) (0) | 2021.06.20 |
[백준 5014] 스타트링크 (Python) (0) | 2021.06.15 |