🌞Algorithm/🔥Baekjoon

[Baekjoon] 8975_PJESMA

뿌야._. 2025. 2. 26. 09:22
문제(출처: 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