문제
설명
소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력하는 프로그램을 작성하세요.
중복이 제거된 문자열의 각 문자는 원래 문자열의 순서를 유지합니다.
입력
첫 줄에 문자열이 입력됩니다. 문자열의 길이는 100을 넘지 않는다.
출력
첫 줄에 중복문자가 제거된 문자열을 출력합니다.
코드
import java.util.Scanner;
public class Main1_6 {
public String Solution(String str) {
String answer = "";
for (int i = 0; i < str.length(); i++) {
System.out.println(str.charAt(i) + " " + i + " " + str.indexOf(str.charAt(i)));
// 알파벳의 현재 위치 i와 처음 발견된 위치 str.indexOf(str.charAt(i))가 같다
// == 처음 등장한 알파벳이므로 answer에 추가. 같지 않다면 중복 문자이기 때문에 패스
if(i == str.indexOf(str.charAt(i))) answer += str.charAt(i);
}
return answer;
}
public static void main(String[] args) {
Main1_6 T = new Main1_6();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(T.Solution(str));
}
}
결과
알게된 점
1. charAt()
2. indexOf()
https://rookie-programmer.tistory.com/18
'Algorithm > Inflearn' 카테고리의 다른 글
[Inflearn] 자바 알고리즘 문제풀이 #01-08 8. 유효한 팰린드롬 (0) | 2022.10.31 |
---|---|
[Inflearn] 자바 알고리즘 문제풀이 #01-07 7. 회문 문자열 (0) | 2022.10.27 |
[Inflearn] 자바 알고리즘 문제풀이 #01-05 5. 특정 문자 뒤집기 (0) | 2022.10.25 |
[Inflearn] 자바 알고리즘 문제풀이 #01-04 4. 단어 뒤집기 (0) | 2022.10.12 |
[Inflearn] 자바 알고리즘 문제풀이 #01-03 3. 문장 속 단어 (0) | 2022.10.05 |