강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

dmsdo922님의 프로필 이미지
dmsdo922

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

2. 아나그램(HashMap)

강사님 코드

작성

·

186

1

public String solution(String str1, String str2) {

        String answer = "YES";

 

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

 

        for(char v: str1.toCharArray()) {

            map1.put(v, map1.getOrDefault(v, 0)+1);

        }

 

        for(char v: str2.toCharArray()) {

            if(!map1.containsKey(v) || map1.get(v)==0 ) return "NO";

            map1.put(v, map1.get(v)-1);

        }

 

        for(char v: map1.keySet()) {

            if(map1.get(v)!=0) return "NO";

        }

 

        return answer;

    }

 

같은 key를 찾아서 -1을 했는데 0이 아닌 경우도 있을것 같아서 

  for(char v: map1.keySet()) {

            if(map1.get(v)!=0) return "NO";

 

        } 

 

이 부분을 추가했는데 하는게 맞을까요?

아니면 불필요한 부분인가요?

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요.

아나그램인지 비교하는 두 문자열이 같은 길이로 들어오기 때문에 불필요해 보입니다.

dmsdo922님의 프로필 이미지
dmsdo922

작성한 질문수

질문하기