코딩테스트/lv0

[프로그래머스 코딩테스트] java Lv.0 A로 B 만들기

chantleman 2024. 8. 6. 09:48

    import java.util.*;
    class Solution {
        public int solution(String before, String after) {
            int answer = 0;

            char[] ch1 = before.toCharArray();
            char[] ch2 = after.toCharArray();

            Arrays.sort(ch1);
            Arrays.sort(ch2);

            if(Arrays.toString(ch1).equals(Arrays.toString(ch2)))
            {
                return 1;
            }

            return answer;
        }
    }

 

 

 

 

 

map 이용해서 하는 방법

    import java.util.*;
    class Solution {
        public int solution(String before, String after) {
            int answer = 0;

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

            for(char ch : before.toCharArray())
            {
                if(map.containsKey(ch+"")){
                    int count=map.get(ch+"");
                    map.put(ch+"", count+1);
                }
                else{
                    map.put(ch+"",1);
                }
                System.out.println(map);
            }

            return answer;
        }
    }

 

containsKey를 이용해서 문자의 개수를 세서 각 문자들의 개수가 같다면 1을 return

char는 기본 데이터 타입이기때문에 Map의 키로 사용불가하기 때문에 String으로 했고,

char ch 를 String으로 형변환을 해줘야 하기 때문에 ch+""를 함