문자열
s
가 매개 변수로 주어집니다.s
에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해 보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
- 0 <
s
의 길이 < 1,000s
는 소문자로만 이루어져 있습니다.
s | result |
---|---|
"abcabcadc" | "d" |
"abdc" | "abcd" |
"hello" | "eho" |
class Solution {
public String solution(String s) {
String [] alpha = {"a","b","c","d","e","f","g","h","i","j","k","l",
"m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
int [] num = new int[26];
String answer = "";
for(int i=0; i<=25; i++) num[i] = 0;
for(int i=0; i<s.length(); i++)
{
for(int j = 0; j<=25; j++)
{
if(alpha[j].equals(s.substring(i, i+1))) num[j]++;
}
}
for(int i=0; i<=25; i++)
{
if(num[i] == 1)
answer = answer.concat(alpha[i]);
}
return answer;
}
}
💡 알파벳 하나씩 든 배열 하나와 문자열에서 나타나는 알파벳의 수를 저장할 int형 배열을 하나 만들어 준다
💡 만약 문자열 s에서 하나씩 자른 문자가 어떤 알파벳과 같다면 그 배열 num에서 알파벳과 같은 인덱스의 원소에 +1을 해 준다
💡 위 과정이 끝나면 num 배열의 원소가 1인 것, 즉, 한 번밖에 나오지 않은 알파벳을 answer에 concat()으로 연결을 시켜 준다
벨로그 시작한 지 얼마 되지도 않았긴 하지만 2022 마지막 글이겠네요 다들 새해 복 많이 받으세요! 🙌