중복 문자 제거
문제
설명
소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력하는 프로그램을 작성하세요. 중복이 제거된 문자열의 각 문자는 원래 문자열의 순서를 유지합니다.
입력
첫 줄에 문자열이 입력됩니다. 문자열의 길이는 100을 넘지 않는다.
출력
첫 줄에 중복문자가 제거된 문자열을 출력합니다.
예시 입력 1
ksekkset
해결방법
문자의 현재위치 charAt() 과 문자열이 처음 발견되는 위치인 indexOf()를 활용, 둘이 같지 않으면 문자가 더 있다는 것을 이용한다.
for (int i = 0; i < s.length(); i++) { // index 자리에 있는 문자열이 처음 발견되는 위치가 index와 같다면, 중복없는 문자열이다. if(s.indexOf(s.charAt(i)) == i) answer += s.charAt(i); }
코드
import java.util.*;
class Main {
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)));
if (str.indexOf(str.charAt(i)) == i) answer += str.charAt(i);
}
return answer;
}
public static void main(String[] args) {
Main.Main T = new Main.Main();
Scanner kb = new Scanner(System.in);
String str = kb.next();
System.out.print(T.solution(str));
}
}