728x90
반응형
※ 문제 설명
문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
※ 제한사항
• 0 < s의 길이 < 1,000
• s는 소문자로만 이루어져 있습니다.
※ 입출력 예
s | result |
"abcabcadc" | "d" |
"abdc" | "abcd" |
"hello" | "eho" |
※ 입출력 예 설명
입출력 예 #1
• "abcabcadc"에서 하나만 등장하는 문자는 "d"입니다.
입출력 예 #2
• "abdc"에서 모든 문자가 한 번씩 등장하므로 사전 순으로 정렬한 "abcd"를 return 합니다.
입출력 예 #2
• "hello"에서 한 번씩 등장한 문자는 "heo"이고 이를 사전 순으로 정렬한 "eho"를 return 합니다.
나의 풀이
import java.util.Arrays;
class Solution {
public String solution(String s) {
String answer = "";
String[] result = new String[s.length()];
for(int i=0; i<result.length; i++) {
result[i] = s.substring(i, i+1);
}
Arrays.sort(result);
for(int i=0; i<result.length; i++) {
int idx = 0;
for(int j=0; j<result.length; j++) {
if(result[i].equals(result[j])) {
idx++;
}
}
if(idx <= 1) {
answer += result[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();
}
}
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][JAVA] 이진수 더하기 (LV.0) (0) | 2023.02.10 |
---|---|
[프로그래머스][JAVA] 숨어있는 숫자의 덧셈 (2) (LV.0) (0) | 2023.02.10 |
[프로그래머스][JAVA] 진료 순서 정하기 (LV.0) (0) | 2023.02.10 |
[프로그래머스][JAVA] 가까운 수 (LV.0) (0) | 2023.02.10 |
[프로그래머스][JAVA] k의 개수 (LV.0) (0) | 2023.02.10 |