본문 바로가기

Algorithm (Java)/인프런 알고리즘강의

[인프런/알고리즘] HashMap - 학급회장

문제

코드

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() 메소드로 각각의 값을 가지고 올 수 있다.

 

 

 

 

출처

https://www.inflearn.com/course/%EC%9E%90%EB%B0%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-%EC%BD%94%ED%85%8C%EB%8C%80%EB%B9%84

 

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 인프런 | 강의

자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성

www.inflearn.com