[ν΄μ¬] 1. νκΈ νμ₯
μ€λͺ
νκΈ νμ₯μ λ½λλ° νλ³΄λ‘ κΈ°νΈ A, B, C, D, E νλ³΄κ° λ±λ‘μ νμ΅λλ€.
ν¬νμ©μ§μλ λ° νμλ€μ΄ μκΈ°κ° μ νν ν보μ κΈ°νΈ(μνλ²³)κ° μ°μ¬μ Έ μμΌλ©° μ μλμ κ·Έ κΈ°νΈλ₯Ό λ°ννκ³ μμ΅λλ€.
μ μλμ λ°νκ° λλ ν μ΄λ€ κΈ°νΈμ νλ³΄κ° νκΈ νμ₯μ΄ λμλμ§ μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
λ°λμ ν λͺ μ νκΈνμ₯μ΄ μ μΆλλλ‘ ν¬νκ²°κ³Όκ° λμλ€κ³ κ°μ ν©λλ€.
μ λ ₯
첫 μ€μλ λ° νμμ N(5<=N<=50)μ΄ μ£Όμ΄μ§λλ€.
λ λ²μ§Έ μ€μ Nκ°μ ν¬νμ©μ§μ μ°μ¬μ Έ μλ κ° ν보μ κΈ°νΈκ° μ μλμ΄ λ°νν μμλλ‘ λ¬Έμμ΄λ‘ μ λ ₯λ©λλ€.
μΆλ ₯
νκΈ νμ₯μΌλ‘ μ νλ κΈ°νΈλ₯Ό μΆλ ₯ν©λλ€.
μμ μ λ ₯ 1
15
BACBACCACCBDEDE
μμ μΆλ ₯ 1
C
<<νμ΄>>
-λμ νμ΄-
μκ°λ³΅μ‘λ : O(N)
μΌλ¨ HashMapμ΄λΌλ κ²μ νμ©νλ€. μ΄ κ°λ μ λν΄μλ 곡λΆν μ μ΄ μμ΄ μ΄λ»κ² μ¬μ©νλμ§λ μ΄λμ λ νμ νκ³ μμ§λ§ λͺ ννκ² κΈ°μ΅νκ³ μμ§λ λͺ»ν΄μ λ€μ 곡λΆν νμκ° μλ€. λ©μλμ μ ννκ² HashMapμ΄ λ¬΄μμΈμ§ κ°μ¬λ νμ΄λ₯Ό 보면μ νμ νμ.
λμ νμ΄λ μ΄μ§Έμ΄μ§Έ μ 보λ₯Ό μ°Ύκ³ ν΄μ μ λ΅μ λ§μ·λ€.
constainsKeyμ ν΄μ¬λ μ€λ³΅κ°μ νμ©νμ§ μκΈ° λλ¬Έμ κ°μ κ°μ΄ λ€μ΄μ€λ©΄ λ체 λλ κ²μ μ΄μ©νλ€.
κ·Έλ¦¬κ³ , κ°μ₯ μ΅λ κ°μ κ°μ§κ³ μλ charμ κ°μ Έμ¬ λ keySet()λ©μλλ₯Ό νμ©ν΄μ ꡬνλ€.
import java.util.*;
class Main {
public char solution(int n, String chairman) {
HashMap<Character, Integer> map = new HashMap();
int max = 0;
for(char x : chairman.toCharArray()) {
if(map.containsKey(x)) {
map.put(x, map.get(x) + 1);
} else {
map.put(x, 1);
}
}
char answer = ' ';
for(char a : map.keySet()) {
max = Math.max(max, map.get(a));
}
for (char a : map.keySet()) {
if(map.get(a) == max) {
answer = a;
}
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner in = new Scanner(System.in);
int n = in.nextInt();
String chairman = in.next();
System.out.println(T.solution(n, chairman));
}
}
-κ°μ¬λ νμ΄-
μκ° λ³΅μ‘λ : O(N)
import java.util.*;
class Main {
public char solution(int n, String chairman) {
HashMap<Character, Integer> map = new HashMap();
int max = 0;
char answer = ' ';
for(char x : chairman.toCharArray()) {
map.put(x, map.getOrDefault(x,0) + 1);
}
for(char key : map.keySet()) {
if(map.get(key) > max) {
max = map.get(key);
answer = key;
}
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner in = new Scanner(System.in);
int n = in.nextInt();
String chairman = in.next();
System.out.println(T.solution(n, chairman));
}
}
μΊ¬ ~ getOrDefault(x, 0) μ΄λΌλ λ©μλμ 무λ¦μ νμΉκ³ κ°λ€. μ λ κ² νλ©΄ keyκ° μ‘΄μ¬νλ©΄ κ·Έ keyμ value κ°μ κ°μ Έμ€κ³ μ‘΄μ¬νμ§ μμΌλ©΄ 0μΌλ‘ μ΄κΈ°ν νλ€.
μ΄λ₯Ό νμ©ν΄μ νλ©΄ μ‘°κΈ λ μ½λλ₯Ό κΉλνκ² μ μ μ μλ€.
<<μΆκ° 곡λΆ>>
map.get() // νΉμ keyκ°μ value λ°ν
map.getOrDefault() //keyκ°μ΄ μ‘΄μ¬νλ©΄ κ·Έ κ°μ valueλ°ν, μλ€λ©΄ 0μΌλ‘ λ°ν
map.keySet() //mapμ΄ κ°μ§κ³ μλ keyκ° λμ΄
map.size() //mapμ ν¬κΈ°
map.remove('C') //mapμ μλ keyκ° Cλ₯Ό μ κ±°νκ³ Cμ valueλ₯Ό λ°ν map.size() λ€μ ν΄λ³΄λ©΄ 1 κ°μ
'μ½λ©ν μ€νΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ν΄μ¬λ§΅ μ¬λΌμ΄λ©] 3. λ§€μΆμ‘μ μ’ λ₯ (1) | 2024.01.04 |
---|---|
[HashMap] 2. μλκ·Έλ¨ (1) | 2023.12.31 |
[볡ν©μ λ¬Έμ ] 6.μ΅λ κΈΈμ΄ μ°μλΆλΆμμ΄ (1) | 2023.12.28 |
[ν¬ ν¬μΈν°] 5. μ°μλ μμ°μμ ν© (0) | 2023.12.26 |
[볡ν©λ¬Έμ ] 4. μ°μ λΆλΆμμ΄ (0) | 2023.12.24 |
λκΈ