🗃️javascript/프로그래머스

한 번만 등장한 문자(Lv.0)[indexOf 와 lastIndexOf로 중복 문자 거르기 ]

하얀성 2023. 3. 9. 13:27
<문제 설명>

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


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

입출력 예sresult
"abcabcadc" "d"
"abdc" "abcd"
"hello" "eho"

입출력 예 설명

입출력 예 #1

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

입출력 예 #2

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

입출력 예 #3

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

<제출 답안>

function solution(s) {
    let s2= s.split("").sort()
    let result = [];

    for(let i=0; i<s2.length; i++){
        if(s2.indexOf(s2[i]) === s2.lastIndexOf(s2[i])){
            result += s2[i]
        }
    }
    return result
}

좀 고민을 오래 했고, 답이 안나왔으며, 2달만의 js모듈생성이라 답이 안나와서 저 if문의 indexOf와 lastIndexOf()사용을 통한 중복안되는 문자 골라내기는 다른 곳의 코드를 참고했다.

 

나머지는 다 내가 수정해가면서 일일히 짠 코드들. 오랜만이라 헷갈리는 부분이 없지않아 있었지만 다행히 다 어디 가지는 않았다.


<보충>