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

stella·2023년 1월 4일
0

Algorithm

목록 보기
4/40
post-thumbnail

문제

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

sresult
"abcabcadc""d"
"abdc""abcd"
"hello""eho"

순서도

조건 1 : 중복되는 문자중에 한번만 등장하는 문자가 있다면, 그 문자를 return
조건 2 : 한번만 등장하는 문자가 있다면, 사전순으로 정렬한 문자열을 return
조건 3 : 한번만 등장하는 문자가 없다면, 빈 문자열을 return

function solution(s) {
    let answer = [];
    let stringArray = s.split('');
    
    stringArray.forEach((item) => {
        if (s.indexOf(item) === s.lastIndexOf(item)) {
            answer.push(item);
        }
    })
    return answer.sort().join('');
}

answer을 출력해봤을 때 값은 제대로 들어가 있는데 알파벳순으로 정렬이 안되어 있다.

sort() 메서드를 사용해 알파벳순으로 정렬해주고 각각 split 되어져 있는 원소들을 join('') 메서드를 사용해 붙여주자.


배운점

  • 중복이 되는 문자가 아니라 중복이 아닌 문자의 조건을 넣어 로직을 짜면 코드가 간단하고 이해하기 편해진다.
  • 자바스크립트에서 sort는 문자 정렬이다. (오름차순, 내림차순, 알파벳순)
profile
Frontend Engineer

0개의 댓글