Thief of Wealth
article thumbnail

문제

(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.

(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.

출력

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

 

 

 

자바스크립트 문제를 백준에서 풀기위해서는 따로 템플릿이 존재한다.

이것이 불편해서 프로그래머스나 릿코드로 이동하는 사람이 있으나, 아무래도 백준 문제가 질이 좋은 것 같아서

꾸준히 백준에서 문제를 풀려고 이렇게 기록으로 남긴다.

 

 

프로세스는 간단하다.

아래 코드처럼 템플릿을 입력해주면된다.

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

const input = []; // 변수를 저장
rl.on("line", function(line) { // line이라는 변수를 입력
    input.push( line ) // 1줄씩 입력받고 무한으로 입력받음
    
  }).on("close", function() { // 컨트롤 + D를 누르면 종료됨. (백준에서는 입력끝나면 자동 종료)
    solution(input); // 원하는 함수 실행
    process.exit();
});

실제 테스트할때는 값을 입력하고 마지막에 컨트롤+D로 끝내줘야 하는 것 빼고는

여타 다른 프로그래밍 언어처럼 입력받을 수 있는 것을 알 수 있다.

 

이 방법을 사용하여 문제를 푼 소스코드는 아래와 같다.

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

const solution = (a,b) => {
    c1 = parseInt(a);
    c2 = new Array(b[0], b[1], b[2]).map( a => parseInt(a) );
    // console.log(c2);
    c3 = c1*c2[2];
    c4 = c1*c2[1];
    c5 = c1*c2[0];
    c6 = c3+c4*10+c5*100;
    console.log(c3);
    console.log(c4);
    console.log(c5);
    console.log(c6);
}

const input = [];
rl.on("line", function(line) {
    input.push( line )
  }).on("close", function() {
    solution(input[0], input[1]);
    process.exit();
});
profile on loading

Loading...