728x90
1292번: 쉽게 푸는 문제
첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다.
www.acmicpc.net
이번 문제는 범위가 1000 까지 제한되어 있으므로, 먼저 수열을 1000 까지 구한 뒤 풀면 쉽게 해결할 수 있는 문제였다.
코드를 보면 더 쉽게 이해갈 것이다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int result = 0;
int[] arr = new int[1001];
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
int start = 1;
for (int i = 1; i < 1001; i++) {
for (int j = start; j < start + i; j++) {
// 범위 넘어가는 것 방지
if (arr[1000] != 0) {
break;
}
arr[j] = i;
}
start += i;
}
for (int i = A; i <= B; i++) {
result += arr[i];
}
System.out.println(result);
}
}
'백준 > 브루트포스' 카테고리의 다른 글
BOJ 2581 - 소수 (0) | 2023.04.20 |
---|---|
BOJ 1978 - 소수 찾기 (0) | 2023.04.19 |
BOJ 2693 - N 번째 큰 수 (0) | 2023.04.19 |
BOJ 2609 - 최대공약수와 최소공배수 (0) | 2023.04.19 |
BOJ 2309 - 일곱 난쟁이 (0) | 2023.04.19 |