2023. 10. 21. 13:11ใ์ธํ๋ฐ/์๋ฐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ์ ๋ฌธ : ์ฝ๋ฉํ ์คํธ ๋๋น
https://hyejin.tistory.com/1226
-> ์ด์ ๋ฌธ์ ํ์ด
1. ํ๊ธ ํ์ฅ
์ค๋ช
ํ๊ธ ํ์ฅ์ ๋ฝ๋๋ฐ ํ๋ณด๋ก ๊ธฐํธ A, B, C, D, E ํ๋ณด๊ฐ ๋ฑ๋ก์ ํ์ต๋๋ค.
ํฌํ์ฉ์ง์๋ ๋ฐ ํ์๋ค์ด ์๊ธฐ๊ฐ ์ ํํ ํ๋ณด์ ๊ธฐํธ(์ํ๋ฒณ)๊ฐ ์ฐ์ฌ์ ธ ์์ผ๋ฉฐ ์ ์๋์ ๊ทธ ๊ธฐํธ๋ฅผ ๋ฐํํ๊ณ ์์ต๋๋ค.
์ ์๋์ ๋ฐํ๊ฐ ๋๋ ํ ์ด๋ค ๊ธฐํธ์ ํ๋ณด๊ฐ ํ๊ธ ํ์ฅ์ด ๋์๋์ง ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
๋ฐ๋์ ํ ๋ช ์ ํ๊ธํ์ฅ์ด ์ ์ถ๋๋๋ก ํฌํ๊ฒฐ๊ณผ๊ฐ ๋์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
์ ๋ ฅ
์ฒซ ์ค์๋ ๋ฐ ํ์์ N(5<=N<=50)์ด ์ฃผ์ด์ง๋๋ค.
๋ ๋ฒ์งธ ์ค์ N๊ฐ์ ํฌํ์ฉ์ง์ ์ฐ์ฌ์ ธ ์๋ ๊ฐ ํ๋ณด์ ๊ธฐํธ๊ฐ ์ ์๋์ด ๋ฐํํ ์์๋๋ก ๋ฌธ์์ด๋ก ์ ๋ ฅ๋ฉ๋๋ค.
์ถ๋ ฅ
ํ๊ธ ํ์ฅ์ผ๋ก ์ ํ๋ ๊ธฐํธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
์์ ์ ๋ ฅ 1
15
BACBACCACCBDEDE
์์ ์ถ๋ ฅ 1
C
๋ฌธ์ ํ์ด 1
public String solution(int n, String result) {
String answer = "";
Map<String, Integer> map = new HashMap<>();
String[] split = result.split("");
for (String s : split) {
Integer sum = map.getOrDefault(s, 1);
map.put(s, sum + 1);
}
int max = Integer.MIN_VALUE;
for (String s : map.keySet()) {
Integer score = map.get(s);
if (max < score) {
answer = s;
max = score;
}
}
return answer;
}
๐ฉ๐ป๐ป : ์ฐ์ ์ด๋ฒ ์น์ ๋ถํฐ๋ HashMap, TreeSet ์ ์ฌ์ฉํด์ ๋ฌธ์ ํธ๋ ๋ถ๋ถ์ด๋ค.
๋จผ์ ๋ฌธ์ ์์ ํ๋ณด๋ A, B, C, D, E 5๋ช ์ด๋ผ๊ณ ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก A, B, C, D, E ๊ฐ HashMap์ key ๊ฐ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฃผ์ด์ง ๋ฌธ์์ด result ์์ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก splitํ๊ณ , ๋ฐ๋ณต๋ฌธ์ ๋๋ ค์ map์ ํด๋น ํค์ score ์ ๋ํด์ค์ผ ํ๋๋ฐ
map์ ๋งจ ์ฒ์์๋ ์๋ฌด ๊ฐ๋ ์๊ธฐ ๋๋ฌธ์ getOrDefault ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ key ๊ฐ์ด ์๋ค๋ฉด ๊ทธ ๊ฐ์ ๊ตฌํด์ +1 ํด์ฃผ๊ณ , ์๋ค๋ฉด 0 ์ ๋ฐํํ ๋ค์ + 1 ์ ํด์ค๋ค.
์ด๋ ๊ฒ ํค ๊ฐ์ ํด๋นํ๋ ํฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ ์ ์ฅํ ๋ค์์
map.keySet ๋ฉ์๋๋ฅผ ํตํด์ ํค ๊ฐ์ผ๋ก ๋ฐ๋ณต๋ฌธ์ ๋๋ ค map์์ ์ด ํค๊ฐ์ get ํ ๊ฐ์ด max ๊ฐ๋ณด๋ค ํฌ๋ฉด answer ์ ํด๋น ํค ๊ฐ์ ์ ์ฅํด์ฃผ๊ณ , max ๊ฐ์ ํด๋น ํค ๊ฐ์ผ๋ก ๋์ ํด์ค๋ค.
๋ฌธ์ ํ์ด 2
public char solution2(int n, String s) {
char answer = ' ';
HashMap<Character, Integer> map = new HashMap<>();
for (char x : s.toCharArray()) {
map.put(x, map.getOrDefault(x, 0) + 1);
}
int max = Integer.MIN_VALUE;
for (char key : map.keySet()) {
if (map.get(key) > max) {
max = map.get(key);
answer = key;
}
}
return answer;
}
๐พ : ๊ฐ์ฌ๋์ด ํผ ๋ฐฉ์์ ๋์ ๋์ผํ๋ฐ ์ฐจ์ด์ ์ด๋ผ๊ณ ํ๋ค๋ฉด ๋ฌธ์์ด์ split์ด ์๋ Character ํ์์ผ๋ก ๋ฐ๊ฟจ๋ค๋ ๊ฒ์ด๋ค.