중복 문자 제거

문제

설명

소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력하는 프로그램을 작성하세요. 중복이 제거된 문자열의 각 문자는 원래 문자열의 순서를 유지합니다.

입력

첫 줄에 문자열이 입력됩니다. 문자열의 길이는 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));
    }
}


© 2024. Chiptune93 All rights reserved.