백준 - 단계별 - 입출력과 사칙연산

0

알고리즘

목록 보기
5/8

1000 - javasript 입력받기

const fs = require('fs');
const inputData = fs.readFileSync(0, 'utf8').toString().split(' ');

const A = parseInt(inputData[0]);
const B = parseInt(inputData[1]);

console.log(A+B);

10869 -- 사칙연산

const fs = require('fs');
const inputData = fs.readFileSync(0, 'utf8').toString().split(' ');

const A = parseInt(inputData[0]);
const B = parseInt(inputData[1]);

const fs = require('fs');
const inputData = fs.readFileSync(0, 'utf8').toString().split(' ');

const A = parseInt(inputData[0]);
const B = parseInt(inputData[1]);

console.log(A+B);
console.log(A-B);
console.log(A*B);
console.log(Math.floor(A/B));
console.log(A%B);

나누기 그자체가 아니고 '몫'을 구하는 것이기 때문에 floor로 버림을 해주어야 정답이 통과된다.

10926 -- 문자 하나 입력받기

const fs = require('fs');
const inputData = fs.readFileSync(0, 'utf8').toString().trim();

console.log(`${inputData}??!`)

trim()을 사용해서 양쪽 공백을 제거해주어야지만 통과가 된다.

2588 -- 세자리수 * 세자리수

내 풀이 

const fs = require('fs');
const inputData = fs.readFileSync(0, 'utf8').toString().split(' ');

const num1 = parseInt(inputData[0]);
const num2= parseInt(inputData[1]);

const q1 = parseInt(num2/ 100)
const q2 = parseInt ((num2-q1*100)/10)
const q3 = parseInt ((num2-q1*100-q2*10))

console.log(num1*q3)
console.log(num1*q2)
console.log(num1*q1)
console.log(num1*num2)

최대한 array를 안쓰는 방식으로 진행을 했는데 틀렸다고 나와서 다른 사람들의 풀이를 확인했다.


const fs=require('fs');
const [num1, num2]=fs.readFileSync('/dev/stdin').toString().split('\n').map(Number);

우선은 이 분은 파일을 map을 이용해서 각 숫자를 직접 array에 할당을 했다.

이렇게 하니 내 풀이도 통과가 되었다.

그리고 floor를 이옹해서 각 자리의 숫자를 구했다. (이 부분은 몫을 구한 내 풀이와 유사하지만 조금 더 각 constant가 독립적)

const oneNum=num2%10;
const tenNum=Math.floor((num2%100)/10);
const hundredNum=Math.floor(num2/100);

console.log(num1*oneNum);
console.log(num1*tenNum);
console.log(num1*hundredNum);
console.log(num1*num2);
profile
기록을 통해 한 걸음씩 성장ing!

0개의 댓글