728x90
🖊️문제
문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return하도록 solution함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
🖊️문제풀이
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
char[] input = s.toCharArray();
Hashtable<Character,Integer> hash = new Hashtable<>();
for(char c: input) {
hash.put(c, hash.getOrDefault(c, 0)+1);
}
List<Character> list = new ArrayList<>(hash.keySet());
list.sort(null);
for(char key : list) {
if(hash.get(key)==1) {
answer+=key;
}
}
return answer;
}
}
HashTable에 key에는 문자열에 들어있는 문자를 하나씩 떼어서 저장하고, value에는 기본값으로 1을 저장하고 동일 문자가 있을 경우 1을 증가시켜 저장시킨다.
value값이 1인 key들만 list에 저장시키고 sort시킨다음 문자열에 붙여서 문제를 해결했다.
728x90
'알고리즘 자료구조 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 올바른 괄호 (0) | 2024.02.05 |
---|---|
[프로그래머스] 배열 회전시키기 (0) | 2023.07.24 |
[프로그래머스] 홀수vs짝수 (0) | 2023.07.23 |
[프로그래머스] 2의 영역 (0) | 2023.07.20 |
[프로그래머스] 첫 번째로 나오는 음수 (0) | 2023.07.20 |