본문 바로가기

Programming/algorithm

[algorithm] 반복되지 않는 첫 번째 문자 찾기


반복되지 않는 첫 번째 문자 찾기


문제

문자열에서 처음으로 반복되지 않는 문자를 찾아내는 함수를 작성하라. 


예를들어, "total"에서 처음으로 등장하는 반복되지 않는 문자는 'o'이며, "teeter"에서 처음으로

등장하는 반복되지 않는 문자는 'r'이다.


입력

첫째 줄에 문자열이 주어지고둘째 줄에 반복되지 않는 문자가 출력된다


출력

첫째 줄에는 반복되지 않는 첫 번째 문자열이 출력된다.


예제 입력

total


예제 출력

o


문제 풀이

package algorithm;

 

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.HashMap;

 

public class Main {

 

         public static void main(String[] args) throws IOException {

                  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

                  String input = br.readLine();

                  HashMap<Character, Integer> map = new HashMap<Character, Integer>();

                  int length = input.length();

                 

                  for(int i =0; i < length; i ++){

                           char c = input.charAt(i);

                           if(map.containsKey(c)){

                                   map.put(c, map.get(c) + 1);

                           }else{

                                   map.put(c, 1);

                           }

                  }

                 

                  for(int i =0; i < length; i ++){

                           char c = input.charAt(i);

                           if(map.get(c) == 1){

                                   System.out.println(c);

                                   return;

                           }

                  }

         }

 

}






'Programming > algorithm' 카테고리의 다른 글

[algorithm] 팰린드롬 만들기  (0) 2016.03.11
[algorithm] 크로아티아 알파벳  (0) 2016.03.10
[algorithm] KMP는 왜 KMP일까?  (0) 2016.03.08
[algorithm] 상수  (0) 2016.03.08
[algorithm] KMP는 왜 KMP일까?  (0) 2016.03.08