import java.util.*;
class Main {
public String solution(String str) {
String answer = "";
for(int i = 0; i < str.length(); i++) {
// str에서 현재 인덱스 i에 해당하는 문자를 가져옴
// 가져온 문자의 첫번째 위치를 찾는다
if(str.indexOf(str.charAt(i)) == i) {
answer += str.charAt(i);
}
}
return answer;
}
public static void main(String []args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.next();
System.out.println(T.solution(str));
}
}
문자열이 "banana"일 때:
i = 0: str.charAt(0)은 'b'이고, indexOf('b')는 0. (같으므로 'b'를 answer에 추가)
i = 1: str.charAt(1)은 'a'이고, indexOf('a')는 1. (같으므로 'a'를 answer에 추가)
i = 2: str.charAt(2)는 'n'이고, indexOf('n')는 2. (같으므로 'n'을 answer에 추가)
i = 3: str.charAt(3)은 'a'이고, indexOf('a')는 1. (다르므로 'a'는 추가하지 않음)
i = 4: str.charAt(4)은 'n'이고, indexOf('n')는 2. (다르므로 'n'은 추가하지 않음)
i = 5: str.charAt(5)은 'a'이고, indexOf('a')는 1. (다르므로 'a'는 추가하지 않음)
결과적으로 answer에는 "ban"이 저장됨.
indexOf는 해당되는 문자가 문자열에 여러개 있을 때 가장 앞에 위치한 문자를 반환
import java.util.*;
class Main {
public String solution(String str) {
String answer = "";
for(int i = 0; i < str.length(); i++) {
if(str.indexOf(str.charAt(i)) == i) {
answer += str.charAt(i);
}
}
return answer;
}
public static void main(String []args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.next();
System.out.println(T.solution(str));
}
}
'코딩테스트 > 기초' 카테고리의 다른 글
8. 유효한 팰린드롬 (0) | 2024.12.03 |
---|---|
7. 회문 문자열 (0) | 2024.12.02 |
5. 특정 문자 뒤집기 (0) | 2024.12.01 |
4. 단어 뒤집기 (0) | 2024.12.01 |
3. 문장 속 단어 (0) | 2024.11.30 |