- 내 풀이
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);
}
}
'프로그래머스 > [프로그래머스 - JAVA] Lv.0' 카테고리의 다른 글
[프로그래머스 - JAVA] 이진수 더하기 (0) | 2023.03.12 |
---|---|
[프로그래머스 - JAVA] 숨어있는 숫자의 덧셈(2) (0) | 2023.03.12 |
[프로그래머스 - JAVA] 진료순서 정하기 (0) | 2023.03.12 |
[프로그래머스 - JAVA] K의 개수 (0) | 2023.03.12 |
[프로그래머스 - JAVA] 가까운 수 (0) | 2023.03.12 |
댓글