티스토리 뷰

https://www.acmicpc.net/problem/2745

 

2745번: 진법 변환

B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 

www.acmicpc.net

const fs = require('fs');
const input = fs.readFileSync("./dev/stdin").toString().trim().split(' ');
let answer = 0;
let S = input[0].split('')
const B = input[1]*1




const notation = {
  '0':0,
  '1':1,
  '2':2,
  '3':3,
  '4':4,
  '5':5,
  '6':6,
  '7':7,
  '8':8,
  '9':9,
  'A':10,
  'B':11,
  'C':12,
  'D':13,
  'E':14,
  'F':15,
  'G':16,
  'H':17,
  'I':18,
  'J':19,
  'K':20,
  'L':21,
  'M':22,
  'N':23,
  'O':24,
  'P':25,
  'Q':26,
  'R':27,
  'S':28,
  'T':29,
  'U':30,
  'V':31,
  'W':32,
  'X':33,
  'Y':34,
  'Z':35
}
let cnt = 0;
while(S.length>0){
  answer+=notation[S.pop()]*(B**cnt);
  cnt++;
}
console.log(answer)



// function notation(x){
//   if(x<10) return x;
//   return String.fromCharCode(x+55)
// }
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함