프로그래머스/[프로그래머스 - JAVA] Lv.0
[프로그래머스 - JAVA] 한 번만 등장한 문자
코딩하는 흰둥이
2023. 3. 12. 17:36
- 내 풀이
import java.util.List;
import java.util.stream.Collectors;
import java.util.Collections;
import java.util.Arrays;
class Solution {
public String solution(String s) {
String answer = "";
// 중복되는 문자 있는지 확인하는 변수 생성
int count;
// 사전순으로 정렬하기
List<String> change = Arrays.asList(s.split(""));
Collections.sort(change);
for (int i = 0; i < change.size(); i++) {
// 문자열 하나 돌때마다 count값을 초기화 해줘야함
count = 0;
for (int j = 0; j < s.length(); j++) {
// 같은 문자가 있다면 count +1씩
// Stirng.valueOf(s.charAt(j))로도 가능
if (change.get(i).equals(""+s.charAt(j))) {
count++;
}
}
if (count == 1) {
answer += change.get(i);
}
}
return answer;
}
}
- 다른 사람 풀이
class Solution {
public String solution(String s) {
int[] alpha = new int[26];
for(char c : s.toCharArray()){
alpha[c - 'a']++;
}
StringBuilder answer = new StringBuilder();
for(int i = 0; i < 26; i++){
if(alpha[i] == 1){
answer.append((char)(i + 'a'));
}
}
return answer.toString();
}
}
import java.util.*;
class Solution {
public String solution(String s) {
HashSet<String> set = new HashSet<>();
for (int i = 0; i < s.length(); i++) {
String replace = s.replace(s.charAt(i) + "", "");
if(s.length() - replace.length() == 1){
set.add(s.charAt(i)+"");
}
}
ArrayList<String> list = new ArrayList<>(set);
Collections.sort(list);
return String.join("", list);
}
}