[ Java 코딩 테스트 ] 중복 문자 제거

한대희·2024년 1월 19일
0

Java 코딩 테스트

목록 보기
7/11

문제

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

입력

  • 첫 줄에 문자열이 입력됩니다.문자열의 길이는 100을 넘지 않는다.

출력

  • 첫 줄에 중복 문자가 제거된 문자열을 출력합니다.

예시

//입력
hhddcc

//출력
hdc

코드

class Main {

    public static String solution(String str) {
        String idx = "hddh";
        int idxnum = idx.indexOf("d");
        System.out.println(idxnum);
        String answer = "";
        // 전달받은 문자열을 인덱스로 접근하여 값을 가져온뒤 해당 문자의 인덱스가 i와 같으면 answer에 추가
        // indexOf에 전달한 문자가 문자열에 중복으로 있는 경우 첫번째 문자의 인덱스만 리턴한다.
        // 따라서 자기 위치와 처음 발견된 위치가 같은 경우에만 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) {


        // 스캐너 객체를 생성한다.
        Scanner input = new Scanner(System.in);
        // 문자를 입력 받아 solutrion 메서드에 전달
        String str = input.next();
        System.out.println(solution(str));

    }
}
profile
개발 블로그

0개의 댓글