๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 11292_ํ‚ค ํฐ ์‚ฌ๋žŒ

๋ฟŒ์•ผ._. 2024. 6. 4. 10:20

Silver V

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

< ํ‚ค ํฐ ์‚ฌ๋žŒ >

 

๋ฌธ์ œ ํ’€์ด 

 

๊ฐ™์€ ํ‚ค๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋“ค๋ผ๋ฆฌ HashMap์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌถ์–ด๋‘”๋‹ค. ํ‚ค๋งŒ ๋ฐฐ์—ด์— ์ €์žฅ ํ›„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค. ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์ถœ๋ ฅํ•œ๋‹ค. 

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.StringTokenizer;

public class _11292_ { // ํ‚ค ํฐ ์‚ฌ๋žŒ

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

		int n = -1;
		while ((n = Integer.parseInt(bf.readLine())) != 0) {

			HashMap<Double, ArrayList<String>> map = new HashMap<>();
			Double[] arr = new Double[n];

			for (int i = 0; i < n; i++) {
				st = new StringTokenizer(bf.readLine());
				String name = st.nextToken();
				double height = Double.parseDouble(st.nextToken());

				ArrayList<String> list;
				if (map.containsKey(height)) {
					list = map.get(height);
				} else {
					list = new ArrayList<>();
				}
				list.add(name);
				map.put(height, list);
				arr[i] = height;
			}
			Arrays.sort(arr, Collections.reverseOrder());

			ArrayList<String> list=map.get(arr[0]);
			for(String name: list) {
				bw.write(name+" ");
			}
			bw.write("\n");
		}
		bw.flush();
	}
}
๋ณ€์ˆ˜)
n : ํ•™์ƒ์˜ ์ˆ˜
map : <ํ‚ค, ArrayList <ํ•™์ƒ ์ด๋ฆ„>>
arr : ํ‚ค ๋ฐฐ์—ด
name, height : ์ด๋ฆ„, ํ‚ค 

 

0์ด ์ข…๋ฃŒ์กฐ๊ฑด ์ด๋ฏ€๋กœ 0์ด ์ž…๋ ฅ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์†ํ•ด์„œ ๋‹ค์Œ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

1) ํ•™์ƒ์ˆ˜๋งŒํผ ํ•™์ƒ ์ด๋ฆ„๊ณผ ํ‚ค๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.

2) HashMap์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ™์€ ํ‚ค๋ฅผ ๊ฐ€์ง„ ํ•™์ƒ๋“ค์„ ๋ฌถ์–ด๋‘”๋‹ค. arr๋ฐฐ์—ด์—๋Š” ํ‚ค๋งŒ ์ €์žฅํ•œ๋‹ค.

3) arr ๋ฐฐ์—ด์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.

4) ์ •๋ ฌ ํ›„ ๋ฐฐ์—ด 0๋ฒˆ์งธ ๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” ํ‚ค๋ฅผ HashMap์—์„œ ์ฐพ์•„ value์ธ ํ•™์ƒ ์ด๋ฆ„์„ ์ถœ๋ ฅํ•œ๋‹ค.