[프로그래머스] 한 번만 등장한 문자 - JS

Lenny·2023년 4월 23일

문제

풀이

function solution(s) {
    var answer = [];
    for(let i = 0; i < s.length; i++) {
        if(s.indexOf(s[i]) === s.lastIndexOf(s[i])) {
            answer.push(s[i]);
        }
    }
    return answer.sort().join("");
}

indexOf와 lastIndexOf의 조합으로 풀 수 있었던 문제

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf

indexOf 는 첫번째 매개변수로 들어온 문자가 가장 처음 나타나는 인덱스를 반환하고 lastIndexOf는 첫번째 매개변수로 들어온 문자가 가장 나중에 나타나는 인덱스를 반환한다.

문제에서 주어진 s 문자열에서 어떤 문자가 두 번 이상 나온다면?
indexOf 가 반환하는 값과 lastIndexOf 가 반환하는 값이 다를것이다. indexOf 와 lastIndexOf가 같다면? 당연히 그 문자는 주어진 s에서 단 한번만 등장한다는 의미가 된다.

profile
🧑‍💻

0개의 댓글