๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/9491)
< Politics >
๋ฌธ์ ํ์ด
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.HashMap;
import java.util.StringTokenizer;
public class _9491_ { // Politics
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;
String str = "";
while (!(str = bf.readLine()).equals("0 0")) {
st = new StringTokenizer(str);
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
ArrayList<String> list = new ArrayList<>();
HashMap<String, ArrayList<String>> map = new HashMap<>();
for (int i = 0; i < n; i++) {
String name = bf.readLine();
list.add(name);
map.put(name, new ArrayList<>());
}
for (int i = 0; i < m; i++) {
st = new StringTokenizer(bf.readLine());
String supporter = st.nextToken();
String cadidate = st.nextToken();
if (map.containsKey(cadidate)) {
map.get(cadidate).add(supporter);
} else {
list.add(cadidate);
map.put(cadidate, new ArrayList<>());
map.get(cadidate).add(supporter);
}
}
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < map.get(list.get(i)).size(); j++) {
bw.write(map.get(list.get(i)).get(j) + "\n");
}
}
}
bw.flush();
}
}
๋ณ์)
n, m : ํ๋ณด์์ ์, ์ง์ง์์ ์
list : ํ๋ณด์ ํ๊ธฐ ์์
map : ํ๋ณด์๋ณ ์ง์ง์
name : ํ๋ณด์ ์ด๋ฆ
supporter, cadidate : ์ง์ง์์ ์ด๋ฆ, ํ๋ณด์์ ์ด๋ฆ
0 0์ด ์ ๋ ฅ๋์ง ์์ ๋๊น์ง ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) ํ๋ณด์์ ์, ์ง์ง์์ ์ ์ ๋ ฅ
2) ํ๋ณด์์ ์๋งํผ ํ๋ณด์ ์ด๋ฆ์ ์ ๋ ฅ๋ฐ์ ArrayList์ HashMap์ ์ถ๊ฐ
3) ์ง์ง์์ ์๋งํผ ์ง์ง์์ ์ด๋ฆ๊ณผ ํ๋ณด์์ ์ด๋ฆ์ ์ ๋ ฅ๋ฐ์ HashMap์ ํ๋ณด์๊ฐ key๊ฐ์ผ๋ก ์๋ค๋ฉด value์ ์ง์ง์์ ์ด๋ฆ ์ถ๊ฐ, key๊ฐ์ ์๋ค๋ฉด ์๋ก ์ถ๊ฐ
4) ArrayList์ ์๋ ํ๋ณด์์ ์ด๋ฆ ์์ผ๋ก ํ๋ณด์๋ฅผ ์ง์งํ๋ ์ง์ง์์ ์ด๋ฆ ์ถ๋ ฅ
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 3443_Reaux! Sham! Beaux! (4) | 2025.07.30 |
---|---|
[Baekjoon] 9787_Olympic Games Ranking (4) | 2025.07.29 |
[Baekjoon] 15198_NKD (2) | 2025.07.25 |
[Baekjoon] 10442_Rank Order (1) | 2025.07.24 |
[Baekjoon] 15426_GlitchBot (3) | 2025.07.23 |