프로그래머스 - A로 B만들기 - 문자열 + 해시 - Java

chaemin·2024년 4월 30일
0

프로그래머스

목록 보기
35/64

1. 문제

https://school.programmers.co.kr/learn/courses/30/lessons/120886

2. 풀이

🚨 (오답 풀이)

처음엔 단순히 reverse()해서 같은 문자열로 파악하는 문제인줄 알았다.

핵심 ✨Point

즉 before를 구성하는 char의 개수 = after를 구성하는 char의 개수를 파악하는 문제이다.

map.equals(map) : 주소비교❌. 내용이 같은지 비교⭕.

3. 전체 코드

import java.util.*;

class Solution {
    public int solution(String before, String after) {
        Map<Character, Integer> mapB = new HashMap<>();
        Map<Character, Integer> mapA = new HashMap<>();
        
        for(char c : before.toCharArray()){
            mapB.put(c, mapB.getOrDefault(c, 0) + 1);
        }
        
        for(char c : after.toCharArray()){
            mapA.put(c, mapA.getOrDefault(c, 0) + 1);
        }
        
        return mapB.equals(mapA) ? 1 : 0;
    }
}

0개의 댓글