sm 기술 블로그

17. 14681(사분면 고르기) 본문

문제/백준_자바스크립트

17. 14681(사분면 고르기)

sm_hope 2022. 5. 16. 11:41
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