๋ฌธ์ (์ถ์ฒ: 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์ธ ํ์ ์ด๋ฆ์ ์ถ๋ ฅํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 1384_๋ฉ์์ง (0) | 2024.06.06 |
---|---|
[Baekjoon] 11008_๋ณต๋ถ์ ๋ฌ์ธ (0) | 2024.06.05 |
[Baekjoon] 1270_์ ์ - ๋ ๋ฐ๋จน๊ธฐ (0) | 2024.06.03 |
[Baekjoon] 21920_์๋ก์ ํ๊ท (0) | 2024.05.30 |
[Baekjoon] 3054_ํผํฐํฌ ํ๋ ์ (0) | 2024.05.29 |