반응형

[ Contents ]
1. 문제 (링크 참조)
1292번: 쉽게 푸는 문제
첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다.
www.acmicpc.net
2. 문제 풀이
1 2 2 3 3 3 4 4 4 4 ....
위와 같은 규칙을 가진 수열의 구간합을 구하는 문제입니다.
2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학
[Algorithm] 단골 1번 문제, 구현 / 수학
[ Contents ] 1. 구현 단순히 '구현'만 하면 되는 문제 유형입니다. 문제를 이해하고 입력에 맞춰 적절한 출력만 하면 됩니다. 특별한 알고리즘이나 프로그래밍적 기법 없이, 단순 제어문만 사용하
star7sss.tistory.com
먼저 수열의 규칙대로 구현하고, 구간의 합을 구하면 됩니다.
3. 코드
A, B = map(int, input().split())
cnt = 0
res = 0
for i in range(1000):
for j in range(i):
cnt += 1
if cnt >= A:
res += i
if cnt > B-1:
break
if cnt > B-1:
break
print(res)
1, 2, 3... k 순으로 1씩 커지며, 그 숫자만큼 반복합니다. 바깥 for문에서는 1씩 증가시키고, 안쪽 for문에서는 k만큼 반복해서 수열의 패턴을 구현합니다.
수열을 구현한 뒤, cnt(count)을 셉니다. A 이상일 때부터 합을 구하고, B를 넘어가면 반복문을 빠져나옵니다.

반응형
'Algorithm' 카테고리의 다른 글
| [브루트포스/수학] 백준 2501 약수 구하기 - Python (0) | 2022.02.04 |
|---|---|
| [구현/수학] 백준 2875 대회 or 인턴 - Python (0) | 2022.02.04 |
| [구현/수학] 백준 10156 과자 - Python (0) | 2022.02.04 |
| [구현/수학] 백준 1011 Fly me to the Alpha Centauri - Python (0) | 2022.02.04 |
| [수학/그리디] 백준 1541 잃어버린 괄호 - Python (0) | 2022.02.03 |
댓글