(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(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 });
- readline 모듈은 입력 스트림으로부터 데이터를 읽어들이는 모듈로, 이를 이용하여 콘솔 환경에서 사용자의 입력을 받을 수 있습니다.
- rl 변수를 통해 createInterface 메서드를 호출하여 인터페이스를 생성하고, 인터페이스에서는 사용자의 입력을 받아들일 수 있습니다. 이때 input 프로퍼티에는 입력 스트림을, output 프로퍼티에는 출력 스트림을 전달해줍니다.
- 즉, 위 코드에서는 콘솔 환경에서 사용자의 입력을 받아들이기 위해 readline 모듈을 사용하여 rl 변수를 생성하고, 이를 통해 사용자의 입력 스트림을 입력받을 수 있는 인터페이스를 생성한 것입니다.
const input = []; rl.on("line", function(line) { input.push( line ) }).on("close", function() { solution(input[0], input[1]); process.exit(); });
readline 모듈을 사용하여 여러 줄의 입력을 받아서 처리할 때 사용하는 코드입니다.
- 먼저 input 배열을 생성합니다. 그리고 rl.on 메소드를 사용하여 line 이벤트와 close 이벤트를 등록합니다.
- line 이벤트는 사용자가 한 줄씩 입력할 때마다 발생합니다. 이 때, 입력된 값을 input 배열에 추가합니다.
- close 이벤트는 사용자 입력이 끝나면 발생합니다. 이 때, solution 함수를 호출하고, process.exit()를 호출하여 프로그램을 종료합니다.