코딩테스트 2번 __hashMap

JoMinJun·2021년 8월 2일
0

코딩테스트

목록 보기
33/39

package main4;


import java.util.Map;
import java.util.Scanner;
import java.util.HashMap;
import java.util.Arrays;



public class Main4 {

	public  String solution(String a1b,String a2b){
	
		
		HashMap<Character, Integer> map1 = new HashMap<Character, Integer>();
		HashMap<Character, Integer> map2 = new HashMap<Character, Integer>();
		
		
		
		for( char x : a1b.toCharArray()) {
			map1.put(x,map1.getOrDefault(x, 0) + 1);
		}
		// A : 2 -> 이런식으로 map 에 갯수를 저장
		
		for( char x : a2b.toCharArray()) {
			map2.put(x,map2.getOrDefault(x, 0) + 1);
		}
		// A : 2 -> 이런식으로 map 에 갯수를 저장
		
		for(char x : map1.keySet()){
			
			for(char y : map2.keySet()) {
				// 키 x 와 y 값을 비교 해서 같으면 
				if(x == y) {
                // x 와 y 값을 비교 해서 같으면 -> value 값도 검사해서 
                //같다면 yes 다르면 no를 리턴합니다
					if(map1.get(x) == map2.get(y)) {
						return "YES";
					}else 
						return "NO";
				}
				
			}
			
		}
		
		
		return "NO";
	};
	
	
	

	
	
	
	
	
	
	public static void main(String[] args) {
		
		
		Main4 main2 = new Main4();
		
		 Scanner kb = new Scanner (System.in);
		
		
		 
		
		 String a1b = kb.next();
		 String a2b = kb.next();
		

	   System.out.println(main2.solution(a1b,a2b));	
	     
		
	}
	

}

선생님 풀이




package main4;


import java.util.Map;
import java.util.Scanner;
import java.util.HashMap;
import java.util.Arrays;



public class Main4 {

	public  String solution(String a1b,String a2b){
	
		
		HashMap<Character, Integer> map1 = new HashMap<Character, Integer>();

		
		
		
		for( char x : a1b.toCharArray()) {
			map1.put(x,map1.getOrDefault(x, 0) + 1);
		}
		// A : 2
		
		for( char x : a2b.toCharArray()) {
			
			if(!map1.containsKey(x) || map1.get(x) == 0 ) {
				return "NO";
			}
			map1.put(x, map1.get(x) - 1);
		
		}
		// A : 2
		

		
		
		return "NO";
	};
	
	
	

	
	
	
	
	
	
	public static void main(String[] args) {
		
		
		Main4 main2 = new Main4();
		
		 Scanner kb = new Scanner (System.in);
		
		
		 
		
		 String a1b = kb.next();
		 String a2b = kb.next();
		

	   System.out.println(main2.solution(a1b,a2b));	
	     
		
	}
	

}


profile
기술정리

0개의 댓글