문제
코드
package prep.test.coding;
import java.util.HashMap;
import java.util.Scanner;
public class ClassLeader {
public char solution(int n, String s) {
HashMap<Character, Integer> hm = new HashMap<>();
for(char idx : s.toCharArray()){
hm.put(idx, hm.getOrDefault(idx,0)+1);
}
char leader = ' ';
int max = Integer.MIN_VALUE;
for( char idx : hm.keySet()) {
if(hm.get(idx) > max) max = hm.get(idx);
leader = idx;
}
return leader;
}
public static void main(String[] args) {
ClassLeader T = new ClassLeader();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
String str= kb.next();
System.out.println(T.solution(n, str));
}
}
관련 지식
HashMap
- map 인터페이스를 구현 자료구조
- key- value로 값을 저장
- key 중복불가, value 중복가능, 순서를 기억하지 않음
관련메소드
- put() : setter
- getOrDefault( 값 , 없을 시 값) : getter
- keySet: key순회 시 사용
=> Map에 저장되어있는 Key들을 Set으로 반환 / get()메소드로 Key에 대응되는 Value를 가져올 수 있음
- entrySet: key-value 순회시 사용
=> Map에 저장되어있는 Entry객체들을 반환/
=> Entry객체는 Key- Value를 Pair로 저장하는 객체로 getKey()와 getValue() 메소드로 각각의 값을 가지고 올 수 있다.
출처
'Algorithm (Java) > 인프런 알고리즘강의' 카테고리의 다른 글
[인프런/알고리즘] HashMap - 아나그램 (0) | 2023.04.26 |
---|---|
[인프런/알고리즘] 문자열 - 가장 짧은 문자거리 (0) | 2023.04.25 |
[인프런/알고리즘] 문자열 - 회문 문자열 (0) | 2023.04.25 |
[인프런/알고리즘] 문자열 - 특정문자 뒤집기 (0) | 2023.04.25 |
[인프런/알고리즘] 문자열 - 문장 내 가장 긴 단어 출력하기 (0) | 2023.04.25 |