https://www.acmicpc.net/problem/16953
- B에서 A로 찾아나가는 식으로 해결하면 간단하다
let [A,B] = require('fs').readFileSync('/dev/stdin').toString().trim().split(' ').map(Number)
let cnt = 1; // 연산횟수 카운트 (문제내용상 1부터 카운트)
while(A<B){ // B값에서 A값 찾아나가기
if(B%2 == 1){ // B값이 1로 끝나는 경우
B = (B-1)/10 // 1을 뺀값에 뒷자리 0 빼기
cnt++ // 연산횟수 1++
} else {
B = B/2 // B값이 1로 끝나지 않을 경우엔 2로 나누기
cnt ++ // 연산횟수 ++
}
if(B<A){ // 만들 수 없는 경우
cnt = -1 // 연산횟수를 -1 로..
}
}
console.log(cnt); // 연산횟수 출력
'백준' 카테고리의 다른 글
[백준 1339] 단어 수학 / Node.js (0) | 2023.01.28 |
---|---|
[백준 13305] 주유소 / Node.js / 그리디 알고리즘 기초 (0) | 2023.01.24 |
[백준 11047] 동전0 / Node.js / 그리디 알고리즘 기초 (0) | 2023.01.23 |
[백준 1931] 회의실 배정 / Node.js (0) | 2023.01.23 |
[백준 2108] 통계학 / 배열 요소의 최빈값 구하기 / Object.entries() (0) | 2023.01.14 |