Algorithm (Java)/인프런 알고리즘강의
[인프런/알고리즘] HashMap - 학급회장
무럭무럭새싹
2023. 4. 26. 15:34
문제
코드
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() 메소드로 각각의 값을 가지고 올 수 있다.
출처
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 인프런 | 강의
자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성
www.inflearn.com