오늘의 학습 키워드
https://www.acmicpc.net/problem/27160
- 전주 듣고 노래 맞히기
공부한 내용 본인의 언어로 정리하기
문자답안
package backjoon.bronze.lv1;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
public class B31562 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken()), m = Integer.parseInt(st.nextToken());
Map<String, String> map = new HashMap<>();
for (int i = 0; i < n; i++) {
String[] arr = br.readLine().split(" ", 3);
String key = arr[2].substring(0, 5);
if (map.containsKey(key)) {
map.put(key, "?");
} else {
map.put(key, arr[1]);
}
}
for (int j = 0; j < m; j++) {
String query = br.readLine();
if (map.containsKey(query)) {
System.out.println(map.get(query));
} else {
System.out.println("!");
}
}
}
}
위 문제는 해시맵을 이용한다. 노래의 코드 3자리를 이용해 노래를 파악해야 하므로 맵의 key 값은 코드의 3자리로 해야한다. 그런 다음 중복 코드가 있으면 ? 값 아니면 그 노래의 제목을 value 값으로 지정해야한다.
주어진 맵의 key 값이 없는 것는 !로 하여 해결하였다.
오늘의 회고
이번 문제도 해시 자료구조에 대한 문제였다. 문제 파악만 하면 쉽게 접근할 수 있었던 것 같다.
'TIL' 카테고리의 다른 글
[TIL-24/11/06] 99클럽 코테 스터디 10일차 TIL - 민균이의 비밀번호-JAVA (5) | 2024.11.06 |
---|---|
[TIL-24/11/05] 99클럽 코테 스터디 9일차 TIL - 민균이의 비밀번호-JAVA (4) | 2024.11.05 |
[TIL-24/11/02] 99클럽 코테 스터디 6일차 TIL - 할리갈리 (1) | 2024.11.02 |
[TIL-24/11/01] 99클럽 코테 스터디 5일차 TIL - 모스 부호 (0) | 2024.11.01 |
[TIL-24/10/31] 99클럽 코테 스터디 4일차 TIL + 숫자 문자열과 영단어, CS 학습 (1) | 2024.10.31 |