문제
https://school.programmers.co.kr/learn/courses/30/lessons/120896
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
< 한 번만 등장한 문자 >
문제 풀이 (Java)
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
HashMap<Character, Integer> map = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
if (map.containsKey(s.charAt(i))) {
map.put(s.charAt(i), map.get(s.charAt(i)) + 1);
} else {
map.put(s.charAt(i), 1);
}
}
ArrayList<Character> list = new ArrayList<>(map.keySet());
Collections.sort(list, new Comparator<Character>() {
@Override
public int compare(Character o1, Character o2) {
if (map.get(o1) == map.get(o2)) {
return o1 - o2;
}
return map.get(o1) - map.get(o2);
}
});
for (Character c : list) {
if (map.get(c) == 1) {
answer += c;
}
}
return answer;
}
}
HashMap을 사용하여 각 문자가 몇 번 등장했는지 구한다. 등장 횟수 순, 사전 순으로 정렬 후 한 번만 등장하는 문자를 answer에 저장한다. 최종 answer을 반환한다.

출처: 프로그래머스 코딩 테스트 연습,
https://school.programmers.co.kr/learn/challenges
'🌞Algorithm > 🔥programmers' 카테고리의 다른 글
| [programmers] 전국 대회 선발 고사 (0) | 2026.10.22 |
|---|---|
| [programmers] 소인수분해 (0) | 2026.10.21 |
| [programmers] 숨어있는 숫자의 덧셈 (2) (0) | 2026.10.19 |
| [programmers] 모스부호 (1) (0) | 2026.10.16 |
| [programmers] 진료순서 정하기 (0) | 2026.10.14 |