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

이강혁·2023년 9월 8일
0

프로그래머스

목록 보기
5/79
post-custom-banner

https://school.programmers.co.kr/learn/courses/30/lessons/120896

문제 설명

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

제한사항

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

입출력 예

s				result
"abcabcadc"		"d"
"abdc"			"abcd"
"hello"			"eho"

입출력 예 설명

입출력 예 #1

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

입출력 예 #2

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

입출력 예 #3

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

코드

function solution(s) {
	return s.split('').sort()
    	.filter(x=>s.indexOf(x)==s.lastIndexOf(x)).join('')

}

s에서 앞에서 셌을 때 idx와 뒤에서 셌을 때 idx가 같은 문자만 걸러서 정렬 후 반환

다른 풀이

var solution=s=>[...s].filter(c=>s.match(new RegExp(c,'g'))
					  .length==1).sort().join('')
                      

RegExp: 정규표현식 객체, match의 매개변수는 정규식 객체를 입력받음
정규표현식 객체를 활용해서 s의 각 문자에 대해 한 번만 나온 것을 찾아서 정렬 후 반환

profile
사용자불량
post-custom-banner

0개의 댓글