Notice
Recent Posts
Recent Comments
Link
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- CustomTab
- github
- n3문법
- 학습지
- Android
- Kotlin
- 일본어기초
- 안드로이드
- errorhandling
- coroutine
- 진짜학습지후기
- 책리뷰
- GIT
- pullrequest
- blog
- 일본어문법
- 코틀린
- suspend
- KotlinInAction
- 진짜학습지
- 책추천
- posting
- jlpt
- webflux
- 인공지능
- ai
- PR
- rxjava
- 진짜일본어
- androidstudio
Archives
코딩하는 개굴이
Fly me to the Alpha Centauri _1011 본문
반응형
BaekJoon/BOJ [JAVA] Fly me to the Alpha Centauri _1011
HINT: 1 121 12321 1234321
1 4 9 16 25 36 49
+ 1 3 5 7 9 11 13...
3의 제곱이면 거리가, 3번째 홀수인 5번 공간이동한다. 이때 나누어 떨어지지 않는 경우를 고려해 나머지에 대해서 모자란 만큼을 끼워 넣어주면 된다.
count/2+1인 이유는 예를 들어 11count면, 12345654321 이기에 6까지 중에서 더해봐야 하기 때문이다.
import java.util.Scanner;
public class baekjoon_1011 {
public static void main(String[] argc) {
Scanner scanner = new Scanner(System.in);
int iter = Integer.parseInt(scanner.nextLine());
for(int i=0;i<iter;i++){
int x = scanner.nextInt();
int y = scanner.nextInt();
int distance = y-x;
int count = (int)Math.sqrt(distance);
int tmp = (int)Math.pow(count,2);
count=1+(2*(count-1)); //count번째 홀수 구하기
System.out.println(leftover(distance-tmp,count));
}
}
static public int leftover(int leftover, int count) {
int lo_count=0;
for (int i = (count/2+1); i > 0; i--) {
if(leftover>=i) {
leftover-=i;
lo_count++;
i++;
}
}
return count+lo_count;
}
}
반응형
'알고리즘 > Baekjoon' 카테고리의 다른 글
BaekJoon/BOJ [JAVA] 부녀회장이 될테야_2775 (0) | 2019.02.02 |
---|---|
BaekJoon/BOJ [JAVA] ACM호텔_10250 (0) | 2019.02.02 |
BaekJoon/BOJ [JAVA] 분수찾기_1193 (0) | 2019.01.19 |
BaekJoon/BOJ [JAVA] 크로아티아 알파벳_2941 (0) | 2019.01.19 |
BaekJoon/BOJ [JAVA] 상수_2908 (0) | 2019.01.19 |
Comments