프로그래머스[LEVEL0] 문자열 출력하기 JavaScript

강동욱·2024년 8월 28일
0

프로그래머스

목록 보기
8/33

프로그래머스의 javascript 코딩테스트 문제 해결 과정 기록

첫번째 level[0] 문자열 출력하기

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

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

입출력 예

입력 #1
HelloWorld!

출력 #1
HelloWorld!

내 풀이 과정

뭐야 문자열 출력?
문자열 받아서 alert()으로 보여주면 되려나 아님 console.log? 라는 생각을 가지고 아래처럼 만들었다.

function str(str){
	alert(str);
}

안된다. 코드실행 하니까 오류가 뜬다.
뭔가 문제가 있다고 생각하고 기존 템플릿으로 돌려 아까 지운 내용을 확인해봤다.

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];
});

readline과 createInterface모두 처음 보는 것이였다. 그래서 구글링을 해보니

Readable Stream 에서 한 번에 한 줄 씩 데이터를 읽기 위한 인터페이스를 제공하는 모듈

그렇다 데이터를 읽기 위한 인터페이스를 제공하는 모듈이라고 한다.

사용법으로는 아래 구문을 통해 외부 모듈을 가져온다.

const readline = require("readline");

템플릿 처음부분에 떡하니 있었다..!

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

그리고 위 구문을 통해 인터페이스를 생성한다.
이것도 이미 있었다...

rl.on("line", (line) => {
  	/*입력값 처리 코드*/
	rl.close();
});

rl.on("close", () => {
  	/*입력 이후 실행 코드*/
	process.exit();
});

그리고 위 구문으로 처리를 한다고 한다. 처음부터 다 있었다!!
다시 한번 프로그래머스에 괜히 저런게 있는게 아니란걸 깨닫는다.
꼭 처음보는게 있으면 제대로 알고 답을 작성해야겠다.
아무튼 위에 코드들을 참고해서 다시 작성했다.

const readline = require('readline');

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

rl.on('line',(line) => console.log(line));

입력 받은 문자열을 그대로 받아서 console.log로 출력하도록 작성했다.
통과!

profile
고군분투 퍼블리셔

0개의 댓글

관련 채용 정보