ABOUT ME

Today
Yesterday
Total
  • [알고리즘] 기초부터 갈고 닦기
    Algorithm 2024. 1. 9. 23:03

    리액트를 공부를 하다가 

    리액트가 지금이야 대세이긴 하지만 몇년이나 갈 줄 모른다는 글들을 보았다. 

     

    그만큼 기술이 빠르게 변화한다고 하니 자바스크립트는 평생 쓰기 때문에

    리액트개발자가 아니라 자바스크립트를 쓸 줄 아는 리액트 개발자가 되어야한다!는 생각이 들었다.

     

    그래서 자바스크립트 공부도 할겸 알고리즘도 풀면서 차근차근 공부해보려고한다.

    아주 쉬운 문제부터 하루에 풀 수있는 데까지 풀어나갈 생각이다.

    최소 1문제 이상은 풀어보도록 해야겠다.

    문제는 프로그래머스 코딩테스트 기초 문제에서 가져온 문제이다.

    https://school.programmers.co.kr/learn/challenges/training?order=acceptance_desc

     

    코딩 기초 트레이닝 | 프로그래머스 스쿨

    프로그래밍 언어를 처음 접하거나 프로그래밍 언어에 익숙해지고 싶다면? 코딩 역량을 탄탄하게 길러주는 코딩 기초 트레이닝으로 차근차근 코딩에 대한 기초 감각을 길러 보세요.

    school.programmers.co.kr

    문제

     

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


    제한사항

    • 1 ≤ str의 길이 ≤ 1,000,000
    • 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을 require 한 것으로 보아 모듈을 설치한 것으로 보이는데 뭔지 모르겠어서 찾아보니

    ❓readline 모듈은

    터미널 또는 콘솔에서 사용자의 입력을 읽어오는 기능을 제공한다고 한다.

    rl.on('line', ...) 은 사용자의 입력이 들어올 때마다 실행되는 이벤트 핸들러이다.

    => 사용자의 입력을 받아들여서 input 배열에 각 줄을 추가하고,

    rl.on('close', ...) 은 사용자의 입력이 종료되었을 때 실행되는 이벤트 핸들러이다.

    => 종료되었을 때 input 배열의 요소들을 공백으로 구분하여 하나의 문자열로 만들고, 그 문자열을 출력해주면 될 것이다.

     

    풀이
    const readline = require('readline');
    const rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout
    });
    
    let input = [];
    
    rl.on('line', function (line) {
        input.push(line);
    }).on('close',function(){
        const str = input.join(' ');
        console.log(str);
    });

     

    마치며

    너무 오랜만에 자바스크립트를 코드를 보니 정말 공부 다시하길 잘했다는 생각이 들었다.

    지금이라도 늦지않았으니 차근차근 그러나 빠르게 습득해가며 자바스크립트를 탄탄하게 기초를 쌓아야겠다.

     

Designed by Tistory.