[기초 Lv.0] 중복된 문자 제거

oaksusu·2024년 1월 15일
0
post-thumbnail

오답노트 5번

1. 문제 (링크) :

문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.

2. 내가 풀려고 한 방법 :

중복된 문자를 제거하기 위해서 new Set을 쓰고 바로 뒤에 join 메서드로 하나의 문자열을 반환하려고 했으나,
Set 객체는 join 메서드를 가지고 있지 않음!

3. 풀이 방법 :

3-1) new Set 객체를 쓰려면,

function solution(my_string) {
    var answer = new Set();
    let string = '';
    [...my_string].map((item, idx) => {
        if (!answer.has(item)) { // <------------- Set 객체에서는 includes가 아닌 has메서드를 사용해야함
            answer.add(item); // <---------------- Set 객체에서는 push가 아닌 add 메서드를 사용해야함
            string += item;
        }
    })
    return string;
}

3-2) filter로 사용하면,

function solution(my_string) {
    return [...my_string].filter((item,idx) => !my_string.slice(0, idx).includes(item)).join('')
}
profile
삐약

0개의 댓글