algorithm/백준
백준 1292 Java
umilove98
2021. 7. 26. 16:42
반응형
ArrayList를 이용해 주어진 규칙대로의 수열을 먼저 만든다. 낭비 없이 최대 B번째까지만 만들면 됨
A번째 부터 B번째 자리의 값을 가져와 더한다.
출력한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String s = bf.readLine();
StringTokenizer st = new StringTokenizer(s);
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
ArrayList<Integer> sequence = new ArrayList<Integer>();
int n = 0;
while(sequence.size() < b) {
n++;
for(int i = 0; i < n; i++) {
sequence.add(n);
}
}
int sum = 0;
for(int i = a; i <= b; i++) {
sum += sequence.get(i - 1);
}
System.out.println(sum);
}
}
반응형