☑️ 문제: 숫자 카드2
https://www.acmicpc.net/problem/10816
☑️ 풀이1: HashMap 사용하기
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
Map<Integer, Integer> map = new HashMap<>();
// 1. HashMap에 상근이가 가진 숫자카드 정보 입력: (카드 번호, 개수)
int N = sc.nextInt();
for (int i = 0; i < N; i++) {
int num = sc.nextInt();
map.put(num, map.getOrDefault(num, 0) + 1);
}
// 2. 주어진 M개의 수에 대한 숫자 카드를 몇 개 가지고 있는지 출력
StringBuilder answer = new StringBuilder("");
int M = sc.nextInt();
for (int i = 0; i < M; i++) {
int num = sc.nextInt();
answer.append(map.containsKey(num) ? map.get(num) : 0);
answer.append(" ");
}
System.out.println(answer);
}
}
확인해보니, 이분탐색 유형으로 풀 수 있다는 사실을 알게 되었다.
이분탐색으로도 풀어봐야겠다.
'TIL (Today I Learned)' 카테고리의 다른 글
99클럽 코테 스터디 16일차 TIL + 오늘의 학습 키워드 (0) | 2024.08.06 |
---|---|
99클럽 코테 스터디 15일차 TIL + 오늘의 학습 키워드 (0) | 2024.08.06 |
99클럽 코테 스터디 13일차 TIL + 오늘의 학습 키워드 (0) | 2024.08.04 |
99클럽 코테 스터디 12일차 TIL + 오늘의 학습 키워드 (0) | 2024.08.03 |
99클럽 코테 스터디 11일차 TIL + 오늘의 학습 키워드 (0) | 2024.08.01 |