반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준
- 알고리즘
- Nestjs
- socket
- 소켓
- HTTP
- Crawling
- HTTP 완벽 가이드
- ip
- BFS
- Algorithm
- dp
- 레벨 1
- 프로그래머스
- 문자열
- 그래프
- javascript
- dfs
- 타입 챌린지
- 가천대
- type challenge
- 타입스크립트
- TCP
- 수학
- 자바스크립트
- typescript
- 프로그래머스 레벨 2
- 쉬운 문제
- Node.js
- 크롤링
Archives
- Today
- Total
kakasoo
[node.js] 진법 변환2 ( 백준 11005번 ) 본문
반응형
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("line", (line) => {
main(line);
rl.close();
}).on("close", () => {
process.exit();
});
/**
*
* @param {string} line
*/
const main = (line) => {
let [N, B] = line.split(" ");
N = Number(N);
const numbers = [];
let square = 0;
while (N >= B) {
const value = N % B;
numbers.push({ value: value, square: square++ });
N = parseInt(N / B);
}
numbers.push({ value: N, square: square++ });
let answer = "";
numbers.reverse().forEach((el) => {
if (el.value > 9) {
answer += String.fromCharCode(el.value + 65 - 10);
} else {
answer += el.value;
}
});
console.log(answer);
};
진법 변환 1은 간단하게 풀었는데, 변환 2는 상대적으로 어려웠다.
사실 같은 문제다, A 에서 B로 변환한 것을 이번엔 역순으로 B에서 A로 변환하는 것이기 때문에.
근데 역으로 생각하려니깐 꼬였다.
그래서 다시 원래 방식대로 sqaure를 넣어서 생각해봤다.
이번에는 sqaure 없이 풀 수 있는데, 하다가 그냥 넣었다.
알고리즘의 효율성을 크게 저해하지 않는 요소인데다가, 사실 이거 없이 생각하려다보니 머리에 생각이 잘 정리되지 않는 느낌인지라... 앞으로는 그냥 친절하게 코드를 짜도록 하자.
괜히 short coding 한다고 까불지 말자.
반응형
'프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
[node.js] 뒤집힌 덧셈 ( 백준 1357번 ) (0) | 2021.04.06 |
---|---|
[node.js] 2진수 8진수 ( 백준 1373번 ) (0) | 2021.04.05 |
[node.js] 진법 변환 ( 백준 2745번 ) (0) | 2021.04.05 |
[node.js] GCD 합 ( 백준 9613번 ) (0) | 2021.04.05 |
[node.js] 최소공배수 ( 백준 1934번 ) (0) | 2021.04.05 |