티스토리 뷰

오늘부터 구름 먼데이 챌린지를 시작했다! 😀

readline을 이용해본 적이 별로 없는데 on을 쓰는 형식이랑 달라서 기록해두고 매번 풀 때마다 이용하려고 한다.

코드가 틀렸을 수도 있는데 풀어가며 고치려고 한다.

 

한 줄 입력받기

const solution = (data) => {
  console.log(data);
};

const readline = require('readline');

(async () => {
  let rl = readline.createInterface({ input: process.stdin });
  let data = [];

  for await (const line of rl) {
      data.push(line);
      rl.close();
  }

  solution(data)
  process.exit();
})();

 

여러 줄 입력받는데 첫줄이 숫자 하나일 때 (가장 보편적으로 사용)

const solution = (data) => {
  console.log(data);
};

const readline = require('readline');

(async () => {
  let rl = readline.createInterface({ input: process.stdin });
  let N = null;
  let count = 0;
  let data = [];

  for await (const line of rl) {
    if (!N) {
      N = +line;
    } else {
      data.push(line);
      count += 1;
    }
    if (N === count) {
      rl.close();
    }
  }

  solution(data)
  process.exit();
})();

 

여러 줄 입력받는데 첫줄이 여러 개 일 때

const solution = (data) => {
  console.log(data);
};

const readline = require('readline');

(async () => {
  let rl = readline.createInterface({ input: process.stdin });
  let N = null;
  let count = 0;
  let data = [];

  for await (const line of rl) {
    if (!N) {
      N = line;
    } else {
      data.push(line);
      count += 1;
    }
    if (N === count) {
      rl.close();
    }
  }

  solution(data)
  process.exit();
})();

 

2줄 입력받을때

const solution = (data) => {
  console.log(data);
};

const readline = require('readline');

(async () => {
  let rl = readline.createInterface({ input: process.stdin });
  let N = null;
  let count = 0;
  let data = [];

  for await (const line of rl) {
    if (!N) {
      N = +line;
    } else {
      data = line;
      count += 1;
    }
    if (N === count) {
      rl.close();
    }
  }

  solution(data)
  process.exit();
})();
728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함