문제설명
문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
제한사항
입출력 예
s | result |
---|---|
"abcabcadc" | "d" |
"abdc" | "abcd" |
"hello" | "eho" |
입출력 예 설명
입출력 예 #1
입출력 예 #2
입출력 예 #3
풀이
1. 중복이 제거된 배열 얻기
2. 중복이 제거된 배열로 원본 배열의 중복횟수 확인
3. 중복 횟수가 1인 문자열만 answer에 더 해준다.
import java.util.Arrays;
class Solution {
public String solution(String s) {
String answer = "";
//중복제거
String[] arr = Arrays.stream(s.split(""))
.distinct()
.sorted()
.toArray(String[]::new);
//중복횟수 확인
for (int i = 0; i < arr.length; i++) {
String a = arr[i];
int duplication = (int) Arrays.stream(s.split(""))
.filter(x -> x.equals(a))
.count();
if (duplication == 1) {
answer += a;
}
}
return answer;
}
}
참고