728x90
▶map() 함수와 join() 함수를 사용한 간단한 기초문제가 있어서 정리해보고자 합니다.
문제설명
길이가 같은 문자열 배열 my_strings와 이차원 정수 배열 parts가 매개변수로 주어집니다. parts[i]는 [s, e] 형태로, my_string[i]의 인덱스 s부터 인덱스 e까지의 부분 문자열을 의미합니다. 각 my_strings의 원소의 parts에 해당하는 부분 문자열을 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ my_strings의 길이 = parts의 길이 ≤ 100
- 1 ≤ my_strings의 원소의 길이 ≤ 100
- parts[i]를 [s, e]라 할 때, 다음을 만족합니다.
- 0 ≤ s ≤ e < my_strings[i]의 길이
입출력 예 & 설명
- 예제 1번의 입력을 보기 좋게 표로 나타내면 다음과 같습니다.
각 부분 문자열을 순서대로 이어 붙인 문자열은 "programmers"입니다. 따라서 "programmers"를 return 합니다.
나의 풀이
먼저 map() 함수를 이용하여 콜백함수의 결과를 새로운 배열로 만들어줘야 합니다.
이때 이차원 배열인 parts 배열은 2차원 배열이기 때문에 i번째 배열의 요소를 slice()함수를 사용하여 잘라줍니다.
그러면 다음과 같은 배열로 나눠지게 되는데 ["progr","am","mer","s"] 이 배열을 ▶join() 포스팅에서 알아보았던 join()함수를 사용하여 배열의 요소를 문자열로 연결합니다.
다른 풀이
■ 기본 for문 풀이
"나의 풀이"와 동일한 로직이지만 map()함수를 사용하지 않고 문자열 변수 answer에다가 +연산자를 사용하여 붙여주었습니다.
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv0 가까운 1 찾기 (JavaScript) (0) | 2024.01.20 |
---|---|
[프로그래머스] Lv0 5명씩 (JavaScript) (1) | 2024.01.20 |
[프로그래머스] 공백으로 구분하기 2 (JavaScript) (0) | 2024.01.20 |
[프로그래머스] 순서 바꾸기 (JavaScript) (0) | 2024.01.15 |
[프로그래머스] Lv0 배열 비교하기 (JavaScript) (1) | 2024.01.15 |