๐Algorithm/๐ฅBaekjoon
[Baekjoon] 3277_DOMAINS
๋ฟ์ผ._.
2025. 11. 7. 00:23
๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/3277)
< DOMAINS >
๋ฌธ์ ํ์ด
๋๋ฉ์ธ์ ๋ง์ง๋ง . ๋ค์ ์ค๋ ๊ฐ์ด๋ฏ๋ก split์ ํ์ฉํ์ฌ ๊ตฌํ๋ค.
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.Collections;
import java.util.Comparator;
import java.util.HashMap;
public class _3277_ { // DOMAINS
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(bf.readLine());
HashMap<String, Integer> map = new HashMap<>();
for (int i = 0; i < n; i++) {
String address = bf.readLine().replace("http://", "");
String temp[] = address.split("\\.");
String result = temp[temp.length - 1].split("/")[0];
if (map.containsKey(result)) {
map.replace(result, map.get(result) + 1);
} else {
map.put(result, 1);
}
}
ArrayList<String> list = new ArrayList<>(map.keySet());
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return map.get(o2) - map.get(o1);
}
});
bw.write(map.get(list.get(0)) + "\n");
for (int i = 0; i < list.size(); i++) {
if (map.get(list.get(i)) == map.get(list.get(0))) {
bw.write(list.get(i) + " ");
}
}
bw.flush();
}
}
๋ณ์)
n : ์ฃผ์์ ๊ฐ์
map : HashMap <๋๋ฉ์ธ, ๋ฐฉ๋ฌธ ํ์>
address : ์ฃผ์
temp : address๋ฅผ "." ๊ธฐ์ค split ํ ๊ฒฐ๊ด๊ฐ
result : ๋๋ฉ์ธ
list : HashMap key -> ArrayList
์ฃผ์์ ๊ฐ์๋ฅผ ์ ๋ ฅ๋ฐ์ ์ฃผ์ ๊ฐ์๋งํผ ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) ์ ๋ ฅ๋ฐ์ ์ฃผ์์์ replace๋ฅผ ์ฌ์ฉํ์ฌ "http://"๋ฅผ ์ ๊ฑฐํ๋ค.
2) ๋๋ฉ์ธ์ ๊ตฌํ๊ธฐ ์ํด address ๊ฐ์ "."๊ธฐ์ค split ํ๋ค.
3) temp์ ๋ง์ง๋ง ๊ฐ์ "/"๊ธฐ์ค split ํ ๊ฒฐ๊ด๊ฐ์ 0๋ฒ์งธ ๊ฐ์ด ๋๋ฉ์ธ์ด๋ค.
4) HashMap์ ๋ฐฉ๋ฌธ ํ์๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
HashMap์ key ๊ฐ์ ArrayList๋ก ๋ณํํ์ฌ ๋ฐฉ๋ฌธ ํ์ ๊ธฐ์ค ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
์ต์ข ๋ฐฉ๋ฌธ ํ์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๊ณ , ์ต๋๊ฐ์ ๊ฐ์ง๋ ๋๋ฉ์ธ์ ์ถ๋ ฅํ๋ค.
