본문 바로가기
기초다지기/JS 코딩테스트

[Lv 0] js 해당 인덱스 문자열 지우기

by 김빵그 2023. 8. 3.

문제

문자열 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문보다 간결하게 사용 가능