[프로그래머스 | js ] 한 번만 등장한 문자

YuRim Lee·2023년 2월 1일
0
post-thumbnail

문제 설명

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

제한사항

0 < s의 길이 < 1,000
s는 소문자로만 이루어져 있습니다.

입출력 예

입출력 예 설명

입출력 예 #1

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

입출력 예 #2

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

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

내코드

function solution(s) {
    var answer = '';
    let obj= [...s].reduce((acc, cur) => {
             acc[cur] = (acc[cur]|| 0) +1
            return acc;
             }, {});
   
    const key = Object.keys(obj).filter(
    (key)=> obj[key] == 1);
  
    return key.sort().join("");
}

좋은코드

function solution(s) {
    let res = [];
    for (let c of s) if (s.indexOf(c) === s.lastIndexOf(c)) res.push(c);
    return res.sort().join('');
}

나는 최빈값으로 풀었고
이사람은 첫번째 인덱스랑 마지막 인덱스랑 같은거로 아이디어를 냈다
진짜 심플하고 좋네 ..

profile
성장하는개발자

0개의 댓글