BOJ_S4_1302
๐ [S4_1302] ๋ฒ ์คํธ์ ๋ฌ
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// **** input start ****
int N = Integer.parseInt(br.readLine());
int max = 0;
String res = "";
HashMap<String, Integer> map = new HashMap<>();
for (int i = 0; i < N; i++) {
String str = br.readLine();
// ๋ง์ฝ ํฌํจํ๊ณ ์๋ค๋ฉด
if(map.containsKey(str)) {
map.put(str, map.get(str)+1);
}else {
map.put(str, 1);
}
}
// **** input end ****
// map์ ๋๋ฉด์ value๊ฐ ์ต๋๊ฐ์ ์ฐพ์
for(String key : map.keySet()) {
int cnt = map.get(key);
// ๋ง์ฝ ์ด๋ฏธ ์ต๋๊ฐ๊ณผ ๊ฐ์ด ๊ฐ๋ค๋ฉด ์ฌ์ ์์ผ๋ก ์์๋๊ฑฐ ๋น๊ต
if(max == cnt && res.compareTo(key)>0) {
res = key;
max = cnt;
}else if(max < cnt){
res = key;
max = cnt;
}
}
System.out.println(res);
} // main end
} // class end
๐ค ๋์ ์๊ฐ
๋ณด์๋ง์ HashMap์ ์ด์ฉํด์ String, Integer๋ฅผ ํ์ฉํด์ผ๊ฒ ๋ค ๋ผ๋ ์๊ฐ์ ํ๋ค.
์์๋ ๋ฌธ์์ด ๋ค์๋ ๊ทธ ๋ฌธ์์ด์ด ๋ํ๋ ํ์๋ฅผ ์ ์ฅํ๋ ๊ฒ์ด๋ค.
๋ฌธ์ ๊ฐ ์ต๋๊ฐ์ด ๊ฐ๋ค๋ฉด ์ฌ์ ์์ผ๋ก ์์๋ ๊ฒ์ ๊ตฌํ๋ ๊ฒ์ธ๋ฐ ์ด๊ฒ์ String์ ๊ธธ์ด๋ฅผ ๋น๊ตํด์ฃผ๋ ๋ฐฉ๋ฒ์ผ๋ก compareTo()
๋ฅผ ํ์ฉํด์ ํฌ๋ค๋ฉด ๊ธฐ์กด ๊ฐ์ด ๋ ํฐ ๊ฒ์ด๊ณ ์๋ค๋ฉด ๋ค์ ๊ฐ์ด ๋ ํฐ ๊ฒ์ด๋ผ์ ๊ฐ๋ค์ ๋ฐ๊ฟ์ฃผ์๋ค.