프로그래머스 Lv.0 한 번만 등장한 문자

문자열 s가 매개변수로 주어지고, s에서 한 번만 등장한 문자를 사전 순으로 정렬해서 return하라!
한 번만 등장하는 문자가 없을 경우 빈 문자열을 return한다.
(ex)
s | result |
"abcabcadc" | "d" |
** 풀이 방법
문자열 s를 ArrayList에 저장하고,
list를 오름차순으로 정렬한다.
오름차순 : ArrayLIst이름.sort(Comparator.naturalOrder());
내림차순 : ArrayLIst이름.sort(Comparator.reverseOrder());
List<Character> list = new ArrayList<>();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
list.add(ch);
} list.sort(Comparator.naturalOrder());
list 원소의 빈도수를 계산하는 count 변수를 만들고,
빈도수를 계산해서 count가 1인 문자들을 answer에 하나씩 합친다.
public static int frequency(Collection<?> c, Object o)
→ Collection객체에서 Object를 찾아서 그 개수를 리턴한다.
int count = 0;
for (int i=0; i<list.size(); i++) {
count = Collections.frequency(list, list.get(i));
if (count == 1)
answer += list.get(i);
}
<> 전체 코드 </>
import java.util.*;
class Solution {
public String solution(String s) {
String answer="";
int count = 0;
List<Character> list = new ArrayList<>();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
list.add(ch);
} list.sort(Comparator.naturalOrder());
for (int i=0; i<list.size(); i++) {
count = Collections.frequency(list, list.get(i));
if (count == 1)
answer += list.get(i);
}
return answer;
}
}
반응형
'개발로그 > 알고리즘' 카테고리의 다른 글
프로그래머스 Lv.0 이진수 더하기 (0) | 2023.07.15 |
---|---|
프로그래머스 Lv.0 외계행성의 나이 (0) | 2023.07.14 |
프로그래머스 Lv.1 예산 (0) | 2023.07.12 |
프로그래머스 Lv.0 모스부호(1) (0) | 2023.07.11 |
프로그래머스 Lv.0 날짜 비교하기 (0) | 2023.07.10 |
댓글