-
문제
https://www.acmicpc.net/problem/16953
16953번: A → B
첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다.
www.acmicpc.net
How to Solve ?
[1] DFS
function dfs(x, count) {if (x === b) {return console.log(count);} else {if (x * 2 <= b) {dfs(x * 2, count + 1);}if (x * 10 + 1 <= b) {dfs(x * 10 + 1, count + 1);}}}let count = 1;const [a, b] = [2, 162];dfs(a, count);[2] BFS
function solution() {const queue = [a, 1];while (queue.length) {let n = queue.shift();let count = queue.shift();if (n === b) {return console.log(count);} else {if (n * 2 <= b) {queue.push(n * 2, count + 1);}if (n * 10 + 1 <= b) {queue.push(n * 10 + 1, count + 1);}}}console.log(-1);}let count = 1;const [a, b] = [2, 162];solution();'PS > 백준' 카테고리의 다른 글
[ 백준_2644 ] 촌수계산 ( bfs - 자바스크립트 ) (0) 2021.06.27 [ 백준 - 2659 ] 십자카드 문제 ( 완전탐색 - 자바스크립트 ) (0) 2021.06.27 [백준_1713] 후보 추천하기 ( 시뮬레이션 - 자바스크립트 ) (0) 2021.06.17 [백준_20365] 블로그2 ( 그리디 - 자바스크립트 ) (0) 2021.06.17 [백준_10971] 외판원 순회2 ( 브루트포스 - 완전탐색 ) (0) 2021.06.16