[js] 문자열 출력하기 (lv.0, 정답률 69%)

sookyoung.k·2024년 4월 23일
0
post-thumbnail

문자열 str이 주어질 때, str을 출력하는 코드를 작성해 보세요.

제한사항

  • 1 ≤ str의 길이 ≤ 1,000,000
  • str에는 공백이 없으며, 첫째 줄에 한 줄로만 주어집니다.

🌱 풀이 해설 1

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

let input = [];

rl.on('line', function (line) {
    input = [line];
}).on('close',function(){
    str = input[0];
    console.log(str);
});

여기는 코드가 아예 이해가 안 돼서 그냥 해설을 찾아서 봤다.

Node.js 환경에서 사용자로부터 입력을 받아 처리하는 예제

const readline = require('readline');
readline 모듈을 불러온다. (* Node.js의 기본 모듈, 한 줄씩 읽기/쓰기가 가능한 인터페이스 제공

const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
→ createInterface 메소드를 사용해 readline 인터페이스를 생성한다. input은 입력 스트림, output은 출력스트림
= 콘솔(터미널)에서 사용자의 입력을 받고 출력할 수 있게 설정하는 것

let input = [];
→ 사용자로부터 입력받은 데이터를 저장할 배열 선언

rl.on('line', function (line) { input = [line]; }).on('close',function(){ str = input[0]; console.log(str); });
→ 이벤트 리스너를 설정
1. line 이벤트 - 사용자가 입력을 한 줄 완료했을 때 발생, 입력한 내용을 input 배열에 저장한다.
2. close 이벤트 - 입력 스트림이 닫히면 발생, input 배열의 첫 번째 원소를 str 변수에 저장한 후, 콘솔레 출력한다.

사용자로부터 한 줄의 입력을 받고, 그 입력을 저장한 뒤, 입력 스트림이 닫힐 떄 저장된 입력을 콘솔에 출력한다.

🌱 풀이 해설 2

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
}).on('line', console.log)

이 코드는 사용자의 입력을 바로 콘솔에 출력하는 간결한 방식이다.

인터페이스를 설정한 후 on('line', console.log)을 체인하여 사용자의 입력이 있을 때마다 콘솔에 바로 출력한다. 중간에 배열이나 변수를 저장하지 않고 바로 처리한다.

또한 사용자의 입력을 바로 처리하기 때문에 저장할 필요가 없고, 별도의 변수나 배열을 사용하지 않는다.

profile
영차영차 😎

0개의 댓글