본문 바로가기

Algorithm/String

(Javascript) - 백준(BOJ) 11816번 : 8진수, 10진수, 16진수 답

반응형

www.acmicpc.net/problem/11816

 

11816번: 8진수, 10진수, 16진수

첫째 줄에 X가 주어진다. X는 10진수로 바꿨을 때, 1,000,000보다 작거나 같은 자연수이다. 16진수인 경우 알파벳은 소문자로만 이루어져 있다.

www.acmicpc.net

문자열을 다루어 8, 10, 16진수로 되어있는 문자열을 10진수로 바꾸어 출력하는 문제였습니다.

 

풀이방법

 1. javascript언어가 굉장히 간편한 점들 중에는 진수변환이 내장함수를 사용하면 1줄의 code만으로 해결이 가능합니다.

 2. parseInt 함수 : parseInt(string변수명, string으로 표현된 진수번호)를 통해 10진수의 number자료형으로 바꿀 수 있습니다.

 * Code에 사용되지는 않았으나 toString 함수도 매우 유용한 함수라 설명을 덧붙입니다.

string변수.toString(변환시키고자 하는 진수번호)를 통해 10진수의 number자료형을 원하는 진수로 변환시킬 수 있습니다.

 

Code

process.stdin.resume();
process.stdin.setEncoding("utf8");

let reader = require("readline").createInterface({
  input: process.stdin,
  output: process.stdout,
});

reader.on("line", (line) => {
  if (line[0] === "0" && line[1] !== "x") {
    console.log(parseInt(line, 8));
  } else if (line[0] === "0" && line[1] === "x") {
    console.log(parseInt(line, 16));
  } else {
    console.log(line);
  }
  reader.close();
});