문제(출처: https://www.acmicpc.net/problem/8975)
< PJESMA >
문제 풀이
HashSet을 사용하여 가사가 주어졌을 때 제목의 단어를 몇 개 사용했는지 확인한다.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
public class _8975_ { // PJESMA
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(bf.readLine());
HashSet<String> title = new HashSet<>();
for (int i = 0; i < N; i++) {
title.add(bf.readLine());
}
int M = Integer.parseInt(bf.readLine());
HashSet<String> lyrics = new HashSet<>();
for (int i = 0; i < M; i++) {
String word = bf.readLine();
if (title.contains(word)) {
lyrics.add(word);
}
if (N % 2 == 0) {
if (lyrics.size() == N / 2) {
System.out.println((i + 1));
break;
}
} else {
if (lyrics.size() == (N / 2) + 1) {
System.out.println((i + 1));
break;
}
}
}
}
}
변수)
N : 노래 제목에 포함되어 있는 단어 수
M : 가사의 단어 수
title : 노래 제목에 포함되어 있는 단어
lyrics : 가사에 포함되어 있는 단어
노래 제목에 포함되어 있는 단어 수 N을 입력받는다. N개만큼 단어를 입력받아 title에 저장한다. 가사에 포함되어 있는 단어 수 M을 입력받는다. M개만큼 단어를 입력받아 title에 저장된 단어라면 lyrics에 저장한다. 만약 N이 짝수라면 lyrics의 크기가 N/2일 때 (i+1)을 출력하고, N이 홀수라면 lyrics의 크기가 (N/2)+1일 때 (i+1)을 출력한다.
'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글
[Baekjoon] 17599_Bags (0) | 2025.02.28 |
---|---|
[Baekjoon] 5092_Air Old Zeeland (0) | 2025.02.27 |
[Baekjoon] 14534_String Permutation (0) | 2025.02.25 |
[Baekjoon] 9492_Perfect Shuffle (0) | 2025.02.24 |
[Baekjoon] 10469_사이 나쁜 여왕들 (0) | 2025.02.21 |