๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 1268_์ž„์‹œ ๋ฐ˜์žฅ ์ •ํ•˜๊ธฐ

๋ฟŒ์•ผ._. 2024. 5. 15. 21:28

Silver V

๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/1268)

< ์ž„์‹œ ๋ฐ˜์žฅ ์ •ํ•˜๊ธฐ >

 

๋ฌธ์ œ ํ’€์ด 

 

๊ฐ™์€ ๋ฐ˜์ด์—ˆ๋˜ ํ•™์ƒ์„ ์ฐพ์•„ ๊ฐ™์€ ๋ฐ˜์ด์—ˆ๋˜ ์‚ฌ๋žŒ์ด ๊ฐ€์žฅ ๋งŽ์€ ํ•™์ƒ์„ ์ฐพ๋Š”๋‹ค. ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด HashSet์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

* ํ•œ ์‚ฌ๋žŒ๊ณผ ์—ฌ๋Ÿฌ ํ•™๋…„๋™์•ˆ ๊ฐ™์€ ๋ฐ˜์ด์—ˆ๋”๋ผ๋„ ๊ฐ™์€ ๋ฐ˜์ด์—ˆ๋˜ ํ•™์ƒ ์ˆ˜๋ฅผ 1๋กœ ์นด์šดํŠธํ•ด์•ผ ํ•˜๋ฏ€๋กœ HashSet ์‚ฌ์šฉ

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.StringTokenizer;

public class _1268_ { // ์ž„์‹œ ๋ฐ˜์žฅ ์ •ํ•˜๊ธฐ

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;

		int n = Integer.parseInt(bf.readLine());

		int arr[][] = new int[n][5];

		for (int i = 0; i < n; i++) {
			st = new StringTokenizer(bf.readLine());
			for (int j = 0; j < 5; j++) {
				arr[i][j] = Integer.parseInt(st.nextToken());
			}
		}

		ArrayList<HashSet<Integer>> result = new ArrayList<>();
		for (int i = 0; i < n; i++) {
			result.add(new HashSet<>());
		}

		ArrayList<ArrayList<Integer>> list = new ArrayList<>();
		for (int i = 0; i < 10; i++) {
			list.add(new ArrayList<>());
		}

		for (int j = 0; j < 5; j++) {
			for (int i = 0; i < 10; i++) {
				list.get(i).clear();
			}
			for (int i = 0; i < n; i++) {
				list.get(arr[i][j]).add(i);
			}
			for (int i = 0; i < n; i++) {
				if (list.get(arr[i][j]).size() > 1) {
					for (int k = 0; k < list.get(arr[i][j]).size(); k++) {
						result.get(i).add(list.get(arr[i][j]).get(k));
					}
				}
			}
		}

		int max = 0;
		int answer = 0;
		for (int i = 0; i < n; i++) {
			if (max < result.get(i).size()) {
				max = result.get(i).size();
				answer = i;
			}
		}
		System.out.println(answer + 1);
	}
}
๋ณ€์ˆ˜)
n : ๋ฐ˜์˜ ํ•™์ƒ ์ˆ˜
arr : ๊ฐ ํ•™์ƒ์ด ์†ํ–ˆ๋˜ ๋ฐ˜ ์ •๋ณด
result : ๊ฐ ํ•™์ƒ๊ณผ ๊ฐ™์€ ๋ฐ˜ ํ–ˆ๋˜ ํ•™์ƒ ๋ฒˆํ˜ธ
list : ๊ฐ ํ•™๋…„๋ณ„๋กœ ๊ฐ™์€ ๋ฐ˜์ด์—ˆ๋˜ ํ•™์ƒ ๋ฒˆํ˜ธ
max, answer : ๊ฐ™์€ ๋ฐ˜์ด์—ˆ๋˜ ์‚ฌ๋žŒ์ด ๊ฐ€์žฅ ๋งŽ์€ ํ•™์ƒ ์ˆ˜, ํ•™์ƒ ๋ฒˆํ˜ธ

 

๋ฐ˜์˜ ํ•™์ƒ ์ˆ˜ n์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ๊ฐ ํ•™์ƒ์˜ ๋ฐ˜ ์ •๋ณด๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ arr์— ์ €์žฅํ•œ๋‹ค. ํ•™๋…„๋ณ„๋กœ ํ•™์ƒ์ด ์†ํ•œ ๋ฐ˜์„ ์‚ดํŽด๋ณด๋ฉฐ ๊ฐ™์€ ๋ฐ˜์ด์—ˆ๋˜ ํ•™์ƒ๋ผ๋ฆฌ ๋ฌถ์–ด๋‘”๋‹ค. ๊ทธ ํ›„ ๊ฐ ํ•™์ƒ๋ณ„๋กœ ์ž์‹ ๊ณผ ๊ฐ™์€ ๋ฐ˜์ด์—ˆ๋˜ ํ•™์ƒ ๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•œ๋‹ค. ์ตœ์ข… result๋ฅผ ์‚ดํŽด๋ณด๋ฉฐ ๊ฐ™์€ ๋ฐ˜์ด์—ˆ๋˜ ์‚ฌ๋žŒ์ด ๊ฐ€์žฅ ๋งŽ์€ ํ•™์ƒ์„ ์ฐพ์•„ ์ถœ๋ ฅํ•œ๋‹ค.