티스토리 뷰
반응형
데이터를 입력받은 후 데이터에서 가야하는 거리를 구한다.
가야하는 거리를 이동하는 최소값은 규칙이 있다.
이 규칙은 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());
}
}
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
LCS(Longest Common Subsequence) + Java (0) | 2022.03.09 |
---|---|
분산처리(백준: 1009 / 자바) (0) | 2022.02.14 |
퀵 소트 (0) | 2017.06.13 |
플로이드 워셜 알고리즘 (0) | 2016.12.29 |
삽입 정렬 (0) | 2016.12.18 |
댓글