자바스크립트

[JavaScript] 프로그래머스 글자 지우기

코딩하는둥이 2024. 5. 29. 11:49
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

문제 설명

문자열 my_string과 정수 배열 indices가 주어질 때, my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.

 

입출력 예

my_string indices result
"apporoograpemmemprs" [1, 16, 6, 15, 0, 10, 11, 3] "programmers"

코드

const solution = (my_string, indices) => {
    return result = [...my_string].filter((_,i)=> !indices.includes(i) ).join('')
}
 

 

설명

1) ... 전개연산자를 통해  문자열 my_string을 문자의 배열로 변환합니다.

2) filter 메서드는 주어진 배열의 각 요소에 대해 콜백 함수를 실행하고, 그 결과가 true인 요소만으로 구성된 새 배열을 생성합니다.

3)  indices.includes(i)는 현재 인덱스 iindices 배열에 포함되어 있는지 확인합니다.

      (_는 현재 요소의 값을 나타내며, i는 현재 요소의 인덱스)

4). join 메서드는 필터링된 문자 배열을 하나의 문자열로 합칩니다.

 

공부

includes()

 : 배열에 특정 요소가 포함하는지 확인하는 함수이며 배열에 주어진 요소가 포함되어 있으면 true, 그렇지 않으면 false

const arr = [1, 2, 3, 4, 5];

console.log(arr.includes(3)); // true
console.log(arr.includes(6)); // false