한 번만 등장한 문자

yejichoi·2023년 2월 16일
0

알고리즘 스터디

목록 보기
5/153

한 번만 등장한 문자

문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.

nresult
"abcabcadc""d"
"abdc""abcd"
"hello""eho"

입출력 예 설명

⚡️ 입출력 예 #1

"abcabcadc"에서 하나만 등장하는 문자는 "d"입니다.

⚡️ 입출력 예 #2

"abdc"에서 모든 문자가 한 번씩 등장하므로 사전 순으로 정렬한 "abcd"를 return 합니다.

⚡️ 입출력 예 #3

"hello"에서 한 번씩 등장한 문자는 "heo"이고 이를 사전 순으로 정렬한 "eho"를 return 합니다.


풀이

function solution(s) {
    let ans = [];
    
    let sArr = s.split("");
    
    sArr.forEach((item) => {
        if(s.indexOf(item) === s.lastIndexOf(item)){
          // lastIndexOf() 메서드는 배열에서 주어진 값을 발견할 수 있는 마지막 인덱스를 반환하고, 
          //요소가 존재하지 않으면 -1을 반환
          // 중복값이 없을 경우, 인덱스는 같은 값을 반환하게 됨 
            ans.push(item);
        }
    })
    
    return ans.sort().join("");
}

indexOf & lastIndexOf

indexOf, lastIndexOf 는 시작점이 동일
다만, 중복값이 있으면 indexOf는 첫번째 인덱스를 반환
라스트는 마지막 인덱스를 반환

0개의 댓글