-
[Baekjoon] 16953번 A -> B (Java)Java/Baekjoon 2022. 8. 29. 01:56
예제 입력1
2 162
예제 출력1
5
예제 입력2
4 42
예제 출력2
-1
예제 입력3
100 40021
예제 출력3
5
package Q16953; import java.util.Scanner; public class Main { static long x, y; static int cnt; public static void main(String[] args) { Scanner scan = new Scanner(System.in); x = scan.nextLong(); y = scan.nextLong(); cnt = 0; while(y > x) { cnt += 1; search(); } if(y == x) { cnt += 1;} else { cnt = -1; } System.out.println(cnt); } public static void search() { String Y = Long.toString(y); String[] Y2 = Y.split(""); if(y % 2 == 0) { // 2로 나눌 수 있다면 2로 나눔 y = y/2; } else if(Y2[Y2.length-1].equals("1")){ // 마지막 숫자가 1이면 1을 제거해줌 Y = Y.substring(0, Y.length()-1); y = Integer.parseInt(Y); }else { // 2로 나누지도 못하고 마지막 숫자가 1이 아니면 반복분 빠져나감 cnt = -1; y = -1; } } }
정말 최근에 푼 문제 중에 가장 쉬웠다.
문제 푸는데 걸린 시간은 10분..? 정도였는데 계속 정답이 아니라길래 잘못된 방식인가 했는데데이터 타입을 int가 아닌 long으로 하지 않아서 계속 오답이 나왔다....나중엔 long인걸 알고 바꾸었지만 nextInt를 nextLong으로 고치지 않아서 또 계속 오답이 나왔다...ㅋㅅㅋ결론은 숫자 범위 확인은 필수고 이런 쉬운 문제만 있었으면 좋겠다!!!!!!!!!!!!!!!!!!!!!!!
728x90'Java > Baekjoon' 카테고리의 다른 글
[Baekjoon] 1149번 RGB거리 (Java) (0) 2022.08.30 [Baekjoon] 15657번 N과 M(8) (Java) (0) 2022.08.29 [Baekjoon] 1991번 트리 순회 (Java) (0) 2022.08.29 [Baekjoon] 11725번 트리의 부모 찾기 (Java) (0) 2022.08.28 [Baekjoon] 15652번 N과 M(4) (Java) (0) 2022.08.28