BaekJoon
16953번:A → B[Java]
충 민
2022. 9. 1. 20:26
그리디 식으로 접근해야한다.
[소스코드]
package algorithm16953;
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int count = 1;
while (a != b){
if (b < a) {
System.out.println(-1);
System.exit(0);
}
//B의 일의 자리가 1이면 일의 자리를 없앤다.
if (b % 10 == 1) b /= 10;
//B가 2로 나뉜다면 2로 나누어준다.
else if (b % 2 == 0) b /= 2;
else {
System.out.println(-1);
System.exit(0);
}
count++;
}
System.out.println(count);
}
}