중복체크(String, HashMap)

문자 중복 체크방식을 정리해보았다.


  1. String
/**
 * 문자 중복 체크 -> 중복되면 "D" 아니면 "U"
 */

    public String solution(String str) {

        String answer = "D";
        String tmp = "";

        for (char x : str.toCharArray()) {
            // 포함되지 않는다면
            if (!tmp.contains(String.valueOf(x))) {
                tmp += String.valueOf(x);       // 이것까지 반드시 붙여줘야 함!
                answer = "U";
            }
        }

        return answer;
    }

  1. HashMap
    public String solution(String str) {

        String answer = "D";

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

        for (char x : str.toCharArray()) {
            map.put(x, map.getOrDefault(x, 0) + 1);
            if (!(map.get(x) > 1)) {    // 중복되지 않는다면
                map.put(x, map.get(x) - 1);
                answer = "U";
            }
        }


        return answer;
    }

좋은 웹페이지 즐겨찾기