JavaScript/알고리즘

프로그래머스 문자 리스트를 문자열로 변환하기 JS (slice() / join())

hihiha2 2023. 5. 25. 17:41
반응형

문제설명

문자들이 담겨있는 배열 arr가 주어집니다. arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.

 

 

✅ 내 코드

function solution(arr) {
   return arr.slice().join('')
}

 

 

💻 내가 이용한 메서드

1. slice(): 어떤 배열의 begin부터end까지(end미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환

Array.slice(begin, end)

 

 

2.join(): 배열의 모든 요소를 연결해 하나의 문자열로 만듦

Array.join(seperator)

 

🔫 join()

으로 

배열을 연결하는 4가지 방법 🔫

var a = ['바람', '비', '불'];
var myVar1 = a.join();      // myVar1에 '바람,비,불'을 대입
var myVar2 = a.join(', ');  // myVar2에 '바람, 비, 불'을 대입
var myVar3 = a.join(' + '); // myVar3에 '바람 + 비 + 불'을 대입
var myVar4 = a.join('');    // myVar4에 '바람비불'을 대입

이외에도 - 를 넣으면 "바람-비-불"과 같은 결과가 나온다.

인자에 어떤값을 넣는지에 따라서 다른 결과값이 나오기때문에

join()을 이용하면 다양한 결과를 얻을 수 있다.

 

💻 학습한 것

join()으로 배열을 연결한다는 것은 알고 있었지만, join()의 인자에 따라서 어떤 결과값이 나오는지 조금 헷갈리는 부분이 있었는데 그 부분을 다시한번 짚고 넘어갈수 있는 기회가 되었다.

나는 join() / join('')의 결과값이 헷갈렸다.

join()과 같이 인자로 아무값도 넣지않으면 모든 문자열이 연결되어서 나올것같지만, 콤마(,)가 포함된 값이 나온다.

join('')도 마찬가지로 ''가 포함된 값이 나올것같지만, 모든 문자열이 연결된 값이 나온다.

 

그래서 join()을 사용할때는 이 부분을 주의해서 써야겠다는 생각을 했다.

자주쓰는 메서드이기때문에 이런 부분은 외워두는것도 좋을것같다.

  join() ➡️ '바람,비,불'  

  join('') ➡️ '바람비불'  

 

 

🙋‍♀️ 내 생각

일단 배열안에 들어있는 값들을 하나씩 쪼개야하기때문에 slice()를 사용했다. 

slice()는 배열을 나누고, 새로운 배열을 반환하기 때문에 각각쪼개진 새로운 arr가 생성된다.

그 arr를 다시 연결하기 위해서 join()메서드를 이용했다.

join()은 인자로 어떤 값을 넣는지에 따라서 다른 결과값이 나온다. 

위에 정리한 바와 같이 join()의 인자값의 활용이 조금 헷갈렸는데 저 부분은 암기를해둬야겠다.

 

 

반응형