sm 기술 블로그
17. 14681(사분면 고르기) 본문
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on("line", function (line) {
input.push(parseInt(line));
}).on("close", function () {
const x = input[0];
const y = input[1];
if (x > 0 && y > 0) {
console.log(1);
} else if (x < 0 && y > 0) {
console.log(2);
} else if (x < 0 && y < 0) {
console.log(3);
} else if (x > 0 && y < 0) {
console.log(4);
}
process.exit();
});
입력을 fs를 (일반적으로)사용한다면 런타임 에러가 발생한다.
이 경우에는 readline으로 풀어야한다. (fs를 변조해서도 가능)
let input = require('fs').readFileSync(0).toString().split('\n');
let x = parseInt(input[0]);
let y = parseInt(input[1]);
if (x > 0 && y > 0) {
console.log(1);
} else if (x < 0 && y > 0) {
console.log(2);
} else if (x < 0 && y < 0) {
console.log(3);
} else if (x > 0 && y < 0) {
console.log(4);
}
'/dev/stdin' 을 0으로 넣었더니 실행이 정상적으로 가능하다.
※ 기본적으로 readline 보다 fs가 속도가 더 빠르다.
let input = require('fs').readFileSync(0).toString().split('\n');
let A = parseInt(input[0]);
let B = parseInt(input[1]);
console.log(A > 0 && B > 0 ? "1" : A < 0 && B > 0 ? "2" : A < 0 && B < 0 ? "3" : "4");
입력값 한번에 받기
=>map사용
let input = require('fs').readFileSync(0).toString().trim().split('\n');
const [x, y] = input.map(Number);
if (x > 0 && y > 0) {
console.log(1);
} else if (x < 0 && y > 0) {
console.log(2);
} else if (x < 0 && y < 0) {
console.log(3);
} else if (x > 0 && y < 0) {
console.log(4);
}
파이썬 처럼 map을 이용하면 한번에 입력값을 변수에 저장 가능하다.
'문제 > 백준_자바스크립트' 카테고리의 다른 글
19. 2525(오븐시계) (0) | 2022.05.16 |
---|---|
18. 2884(알람 시계) (0) | 2022.05.16 |
16. 2753(윤년) (0) | 2022.05.16 |
15. 9498(시험 성적) (0) | 2022.05.16 |
14. 1330(두 수 비교하기) (0) | 2022.05.16 |
Comments