문제/백준_자바

93. 10816(숫자 카드2)

sm_hope 2022. 6. 20. 19:09
import java.io.*;
import java.util.*;

class Main {
	public static void main(String args[])throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		Map<String, Integer> cardMap = new HashMap<>();
		
		br.readLine();
		String[] haveCard = br.readLine().split(" "); 
		br.readLine();
		String[] compareCard = br.readLine().split(" "); 
		
		for(String val:haveCard) {
			if(cardMap.get(val) != null) {
				cardMap.replace(val,cardMap.get(val)+1);
			}
			else {
				cardMap.put(val, 1);
			}
		}
		
		for(String val:compareCard) {
			if(cardMap.get(val) != null) {
				sb.append(cardMap.get(val)).append(" ");
			}
			else {
				sb.append("0").append(" ");
			}
		}
		System.out.print(sb);
	}
}

문제 요약

상근이가 가지고 있는 각 카드의 갯수를 출력해라.(범위가 매우 크다)

해설

map은 put으로 값을 넣고, replace로 값을 수정하고, get으로 값을 읽고 remove로 값을 삭제한다는 것만 알고 있다면,

크게 어렵지 않은 문제이다.