๐ŸŒž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)์„ ์ถœ๋ ฅํ•œ๋‹ค.