곱셈

문제

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

(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 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();
});
예제입력1예제출력1
472
385
2360
3776
1416
181720

새로 알게된 점

const readline = require("readline");
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});
  1. readline 모듈은 입력 스트림으로부터 데이터를 읽어들이는 모듈로, 이를 이용하여 콘솔 환경에서 사용자의 입력을 받을 수 있습니다.
  2. rl 변수를 통해 createInterface 메서드를 호출하여 인터페이스를 생성하고, 인터페이스에서는 사용자의 입력을 받아들일 수 있습니다. 이때 input 프로퍼티에는 입력 스트림을, output 프로퍼티에는 출력 스트림을 전달해줍니다.
  3. 즉, 위 코드에서는 콘솔 환경에서 사용자의 입력을 받아들이기 위해 readline 모듈을 사용하여 rl 변수를 생성하고, 이를 통해 사용자의 입력 스트림을 입력받을 수 있는 인터페이스를 생성한 것입니다.
const input = [];
rl.on("line", function(line) {
    input.push( line )
  }).on("close", function() {
    solution(input[0], input[1]);
    process.exit();
});

readline 모듈을 사용하여 여러 줄의 입력을 받아서 처리할 때 사용하는 코드입니다.

  1. 먼저 input 배열을 생성합니다. 그리고 rl.on 메소드를 사용하여 line 이벤트와 close 이벤트를 등록합니다.
  2. line 이벤트는 사용자가 한 줄씩 입력할 때마다 발생합니다. 이 때, 입력된 값을 input 배열에 추가합니다.
  3. close 이벤트는 사용자 입력이 끝나면 발생합니다. 이 때, solution 함수를 호출하고, process.exit()를 호출하여 프로그램을 종료합니다.

0개의 댓글