문제
문자열 my_string과 정수배열 indices가 주어질 때 문자열에서 정수의 원소에 해당하는 인덱스 글자를 지우고 문자를 이어 붙여라
나의 답 Map() 사용
function solution(s, i) {
return [...s].map((char, index) => i.includes(index) ? null : char).join("")
}
- map 함수를 사용하여 주어진 문자열을 순회하여 해당 인덱스의 문자가 i 배열에 있는지 확인
- i 배열에 있는 인덱스에 해당하는 문자는 null 아니면 join을 사용하여 문자열로 합쳐준다
- includes : 특정 요소가 있는지 t/f로 구분
Array.prototype.includes() - JavaScript | MDN
includes() 메서드는 배열이 특정 요소를 포함하고 있는지 판별합니다.
developer.mozilla.org
그 외의 답
1) for 사용
function solution(m, a) {
var answer = '';
for(let i = 0; i<m.length; i++){
if(!a.includes(i)){
answer += m[i]
}
}
return answer;
}
- 문자열 m을 순회하며 a 배열에 해당하는 인덱스인지 확인
- !not 연산자 배열 a에 특정값 i가 포함되지 않는다면 문자열을 answer에 연결
2) filter 사용
const solution=(s,d)=>[...s].filter((v,i)=>!d.includes(i)).join('')
- for문보다 간결하게 사용 가능
'기초다지기 > JS 코딩테스트' 카테고리의 다른 글
[Lv0] js for ...of 를 사용한 수열과 쿼리 (0) | 2023.08.10 |
---|---|
[Lv0] js 정수 배열 홀짝 여부 판단하여 1로 만들기 (0) | 2023.08.05 |
배열 순서 위치 변경하기 (0) | 2023.08.02 |
[Lv0] 빈배열 추가 삭제 (1) | 2023.08.01 |
[Lv0] 세로읽기 (0) | 2023.07.24 |