문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
제한사항
- 0 < s의 길이 < 1,000
- s는 소문자로만 이루어져 있습니다.
입출력 예sresult
"abcabcadc" | "d" |
"abdc" | "abcd" |
"hello" | "eho" |
입출력 예 설명
입출력 예 #1
- "abcabcadc"에서 하나만 등장하는 문자는 "d"입니다.
입출력 예 #2
- "abdc"에서 모든 문자가 한 번씩 등장하므로 사전 순으로 정렬한 "abcd"를 return 합니다.
입출력 예 #3
- "hello"에서 한 번씩 등장한 문자는 "heo"이고 이를 사전 순으로 정렬한 "eho"를 return 합니다.
class Solution {
public String solution(String s) {
// 알파벳을 넣은 char 배열
char[] alphabet = new char[26];
// 문자열 s를 char 배열로 바꿔서 -97 => a이면 0, b이면 1
for(char c : s.toCharArray()) {
alphabet[c-97]++;
}
StringBuilder sb = new StringBuilder();
// 예시, b일때 3, 3+97 = 100
for(int i=0;i<alphabet.length;i++) {
if(alphabet[i] == 1) sb.append((char)(i + 97));
}
return sb.toString();
}
}
- c-97 or c - 'a' 가능! 만약에 a이면 alphabet[0] => a인것! (a-'a' or a-97)
- (char)(i + 97) or (char)(i + 'a') 가능! / 만약에 d 이면 i는 3 + 97 = 100, 100을 char로 바꾸면 d!
- 배열[0] ++ 신박하다..!
'algorithm > Programmers' 카테고리의 다른 글
[JAVA] 문자열 안에 문자열 (0) | 2023.03.15 |
---|---|
[JAVA] 문자열 계산하기 (0) | 2023.03.09 |
[JAVA] 인덱스 바꾸기 (0) | 2023.03.03 |
[JAVA] 컨트롤 제트 (0) | 2023.03.02 |
[JAVA] 대문자와 소문자(대문자, 소문자 변환) (0) | 2023.02.10 |