코딩테스트 연습 > 코딩테스트 입문 > 한 번만 등장한 문자
문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
s
의 길이 < 1,000s | result |
---|---|
"abcabcadc" | "d" |
"abdc" | "abcd" |
"hello" | "eho" |
import java.util.*;
class Solution {
public String solution(String s) {
HashMap<Character, Integer> charMap = new HashMap<>();
for(int i=0; i<s.length(); i++){
charMap.put(s.charAt(i), charMap.getOrDefault(s.charAt(i), 0)+1);
}
// value가 1인 key 찾기
List<Character> uniqueChars = new ArrayList<>();
for(char c : charMap.keySet()){
if( charMap.get(c) == 1){
uniqueChars.add(c);
}
}
// 알파벳순 정렬
Collections.sort(uniqueChars);
String answer = "";
for(char c : uniqueChars){
answer += c;
}
return answer;
}
}