☑️ 문제: 숫자 카드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 |