2588번 곱셈

MINBOK·2022년 5월 26일

백준

목록 보기
13/17

문제

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

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

입력

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

출력

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

예제 입력 1

472
385

예제 출력 1

2360
3776
1416
181720

CODE

처음 풀이

const fs = require("fs");
const inputData = fs.readFileSync("/dev/stdin").toString().split(" ");

const Num1 = parseInt(inputData[0]);
const Num2 = parseInt(inputData[1]);
const Num2Arr = String(Num2).split("");

console.log(Num1 * Num2Arr[2]);
console.log(Num1 * Num2Arr[1]);
console.log(Num1 * Num2Arr[0]);
console.log(Num1 * Num2);

// 2360
// 3776
// 1416
// 181720

콘솔에서는 원하는 답이 나오는 것 같은데 왜 백준에서는 틀렸는지 모르겠다.

수정된 풀이

const fs = require("fs");
const inputData = fs.readFileSync("/dev/stdin").toString().split("\n");

const Num1 = parseInt(inputData[0]);
const Num2 = parseInt(inputData[1]);
const Num2Arr = String(Num2).split("");

console.log(Num1 * Num2Arr[2]);
console.log(Num1 * Num2Arr[1]);
console.log(Num1 * Num2Arr[0]);
console.log(Num1 * Num2);

해결 과정

이 질문의 답변을 통해 문제를 해결할 수 있었다.

참고
https://www.acmicpc.net/board/view/88862

예제의 입력에 공백이 없으므로 split(" ")을
split("\n")으로 수정했고, 문제를 해결할 수 있었다.

참고로 \n는 문자열에서 줄바꿈을 의미한다.

수정 2022년 05월 28일 금

0개의 댓글