프로그래밍/알고리즘
Fly me to the Alpha Centauri(백준: 1011 / 자바)
sungjine
2022. 2. 15. 11:14
반응형
데이터를 입력받은 후 데이터에서 가야하는 거리를 구한다.
가야하는 거리를 이동하는 최소값은 규칙이 있다.
이 규칙은 1부터 하나씩 최소값을 찾아보면 규칙이 보이고 규칙은 다음과 같다.
1 2 3 3 4 4 5 5 5 6 6 6 7 7 7 7 8 8 8 8 9 ... 와 같은 증가 형식을 띄게 된다.
이를 구현한 코드는 아래와 같다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
for(int i = 0; i < n; i++) {
String[] str = br.readLine().split(" ");
int distance = Integer.parseInt(str[1]) - Integer.parseInt(str[0]);
int repeat = 1;
long sum = 0;
int result = 0;
for(int j = 1; j <= distance; j++) {
result = j;
sum += repeat;
if(sum >= distance) {
break;
}
if(j % 2 == 0) {
repeat++;
}
}
sb.append(result);
sb.append("\n");
}
System.out.print(sb.toString());
}
}
반응형