반응형
10869번 사칙연산
- 입력을 받아올 때는 require('fs').readFileSync('/dev/stdin').toString().split(' '); 으로 받아온다.
- 백준에서 입력 받는 파일이 /dev/stdin 안에 있기 때문이다.
- 다른 연산은 상관없지만 나눗셈은 소수점이 나오기 때문에 정수로 만들어줘야 한다.
- Math.floor()를 사용하면 소수점 아래는 다 지워버려서 정수로 나오게 된다.
const inputArr = require('fs').readFileSync('/dev/stdin').toString().split(' ');
const num1 = parseInt(inputArr[0]);
const num2 = parseInt(inputArr[1]);
console.log(num1 + num2);
console.log(num1 - num2);
console.log(num1 * num2);
console.log(Math.floor(num1 / num2));
console.log(num1 % num2);
10926번 ??!
- 문자 입력받을 때 공백이 있을 수 있으므로 String.prototype.trim 을 사용해서 양쪽 공백을 삭제해준다.
const userId = require('fs').readFileSync('/dev/stdin').toString().trim();
console.log(`${userId}??!`);
3003번 킹, 퀸, 룩, 비숍, 나이트, 폰
- map()을 이용해서 계산한다.
- map((값, 인덱스)) 를 의미한다. 값에는 map()이 가리키는 객체의 값이고, index는 해당 배열의 인덱스를 의미한다.
- ... 문법은 객체 속에 있는 값만 가져오는 문법이다.
const inputArr = require('fs').readFileSync('/dev/stdin').toString().split().map(Number);
const chess = [1, 1, 2, 2, 2, 8];
let result = inputArr.map((i, index) => {
return chess[index] - i;
});
console.log(...result);
2588번 곱셈
- 입력받을 때 한 줄 뛰고 받기 때문에 split('\n')을 넣어야 한다.
- 세자리 수에서 한자리를 구하기 위한 방법은 num%10을 해야 한다.
- 두번 째 자리는 (num % 100) / 10 을 해야 한다. 이때 나눗셈은 소수점이 붙기 때문에 Math.floor를 붙여줘야 한다.
- 세 번째 자리는 num / 100을 해주면 된다.
const inputArr = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(Number);
//map(Number)은 Number(inputArr)를 하는 것과 같다.
const num1 = inputArr[0];
const num2 = inputArr[1];
const firNum2 = num2 % 10;
const secNum2 = Math.floor((num2 % 100) / 10);
const thirNum2 = Math.floor(num2 / 100);
console.log(num1 * firNum2);
console.log(num1 * secNum2);
console.log(num1 * thirNum2);
console.log(num1 * num2);
728x90
'JavaScript' 카테고리의 다른 글
가변 객체와 불변 객체 (0) | 2022.11.30 |
---|---|
자바스크립트 데이터 타입 (0) | 2022.11.28 |
소수점 2자리 이하 만들기 (0) | 2022.02.14 |
map 함수 (0) | 2022.02.13 |
Isotope 사용하기 (0) | 2022.02.10 |