백준 11576 JavaScript
수정하기
문서 생성 2021-11-18 15:13:49 최근 수정 2021-11-19 08:03:18
문제
풀이
A진법 수를 10진법으로 변경하고 그 10진법 수를 다시 B진법으로 변경하는 방식으로 풀었다.
백준 2745와 백준 11005에서 한 풀이를 적절히 사용하면 된다.
const readFileSyncPath = require('path').basename(__filename).replace(/js$/, 'txt');// const readFileSyncPath = '/dev/stdin';let input = require('fs').readFileSync(readFileSyncPath).toString().split('\n');let A = parseInt(input[0].split(' ')[0]);let B = parseInt(input[0].split(' ')[1]);// A진법 수를 10진법으로 변경let aNum = input[2].split(' ');aNum = aNum.map(v => parseInt(v));aNum = aNum.reverse();let decimal = 0;aNum.forEach((v, i) => {decimal += (v * (A ** i));});// 10진법을 B진법으로 변경let result = [];while (decimal > 0) {result.push(decimal % B);decimal = parseInt(decimal / B);}console.log(result.reverse().join(' '));