코딩테스트/백준

[Java] 백준 - 10816번 : 숫자 카드 2 (Silver IV)

배똥회장 2022. 9. 8. 14:33
728x90
코딩 테스트 풀이 체크리스트
2시간 내에 풀었는가? O
본인의 실력으로 풀었는가? O

 

 

10816번: 숫자 카드 2

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,

www.acmicpc.net

 

 

 

 

 

import java.io.*;
import java.util.HashMap;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		//가지고 있는 숫자카드를 정리할 해시맵
		HashMap<String, Integer> map = new HashMap<>();
		
		//해시맵에 넣는 과정
		//getOrDefault는 해시맵에 키에 대한 값이 있으면 그것을 리턴하고, 아니면 default값으로 설정해놓은 값을 리턴함
		int n = Integer.parseInt(br.readLine());
		String[] nums = br.readLine().split(" ");
		for (int i = 0; i < n; i++) {
			map.put(nums[i], map.getOrDefault(nums[i], 0)+1);
		}
		
		int t = Integer.parseInt(br.readLine());
		String[] test = br.readLine().split(" ");
		for (int i = 0; i < t; i++) {
			bw.write(map.getOrDefault(test[i], 0) + " ");
		}
		
		bw.flush();
		bw.close();
	}
}

 

문제 결과 메모리 시간 코드 길이
10816 맞았습니다!! 167456 KB 1144 ms 722 B

 

 

 

 

 

 

728x90