문제설명
문자들이 담겨있는 배열 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()의 인자값의 활용이 조금 헷갈렸는데 저 부분은 암기를해둬야겠다.
'JavaScript > 알고리즘' 카테고리의 다른 글
프로그래머스 정수 부분 JS (Math.floor() / Math.trunc() / parseInt() ) (0) | 2023.05.26 |
---|---|
프로그래머스 rny_string JS ( repalceAll() ) (1) | 2023.05.25 |
프로그래머스 길이에 따른 연산 JS (reduce()) (0) | 2023.05.25 |
프로그래머스 뒤에서 5등까지 JS (sort() / slice()) (0) | 2023.05.25 |
프로그래머스 문자열로 변환 JS (String()/ toString() / +"") (0) | 2023.05.25 |