궁금한게 많은 코린이의 Developer 노트

[TIL] 프로그래머스 문자열 붙여서 출력하기 feat. join( ) 메서드 본문

TIL

[TIL] 프로그래머스 문자열 붙여서 출력하기 feat. join( ) 메서드

lemonarr🍋 2024. 1. 29. 18:45

 

 

나의 문제풀이

 

 

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


rl.on('line', function (line) {
    let [a,b] = line.split(' '); 
    console.log(`${a+b}`);
})

 

 

주어진 단어를 잘라 각각 a와 b에 할당해주고

템플릿 리터럴(` `) 과 표현식 삽입('${ }')을 사용하여 문제를 풀어보았다. -> 그냥 a + b 작성 해주어도 문제는 풀린다 ^^

 

 

 

참고 풀이

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

 

 

strArr  변수에 공백이 있는 문자들을 넣어주고

join(' ') 메서드로 공백을 붙여주었다.

 

 


 

join 메서드란?

 

 

 

join( ) 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만드는 메서드 이다.

 

 

- a,b,c,d,e,f,g....,z

join() 메서드만 사용할 경우: 문자열이 , 로 이어져 출력됨. ex. 빨강,파랑,노랑

 

 

-abcdefg

join(") 메서드 안에 " 를 넣는 경우 : 배열 사이사이가 붙어져 출력됨.  ex. 빨강파랑노랑

 

 

 

-a-b-c-d-e-f-g 

join('-') 메서드 안에 '-' 를 넣는 경우: 배열 사이사이에 - 가 붙어져 출력됨.   ex. 빨강-파랑-노랑

 

 

 

 

 

 

 


 

 

 

해당 풀이를 보고 내 풀이를 보니 

굳이 a 와 b로 나누어 단어를 지정해 줄 필요가 있었을까 하는 생각이 든다.

공백을 제거하면 되는 간단한 문제였다..!

 

 

 

 

아쉬워서 다시 푼 풀이 (join() 메서드 사용해서)

 

 

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


rl.on('line', function (line) {
    let a = line.split(' ').join(""); 
    console.log(a);
})

 

 

아까는 공백을 떼고 붙였다면

다시 푼 풀이에서는

변수 하나에 단어를 추출하고 이어 붙이는 방법을 사용해보았다..

join()메서드를 사용해서 분리된 단어의 배열을 붙이는 방법으로 하여 조금 더 깔끔하게 작성해보았다. 

 

 

 

 

 

 

다음 부턴 굳이..? 하는 부분을 최대한 없앤 코드를 짜봐야겠다.

오늘도 하나 더 배우고 갑니다 :)