시간&메모리 제한
문제
입력&출력
문제풀이
package com.Back;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
public class Back_1302 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
HashMap<String,Integer> hm = new HashMap<String, Integer>();
int max = Integer.MIN_VALUE;
for (int i = 0; i < N; i++) {
String tmp = br.readLine();
if(hm.containsKey(tmp)) {
hm.replace(tmp, hm.get(tmp)+1);
}else {
hm.put(tmp, 1);
}
}
for(String tmp : hm.keySet()) {
max = Math.max(max, hm.get(tmp));
}
ArrayList<String> arr = new ArrayList<String>(hm.keySet());
Collections.sort(arr);
for(String tmp : arr) {
if(hm.get(tmp) == max) {
System.out.println(tmp);
break;
}
}
}
}
- 이 문제의 경우 문자열을 이용해서 해결하는 문제였습니다.
- 각각의 책의 제목을 담는 동시에, 팔린 책의 수를 체크해야 합니다.
- 따라서, HashMap을 이용해서 문제 해결을 했습니다.
- HashMap Key에는 String으로 책의 제목을 받고, Value에는 Integer로 팔린 수를 넣었습니다.
- 팔린 책의 수의 최댓값을 구한뒤, 그에 맞는 책의 제목을 찾았습니다.
'Algorithm > 백준 알고리즘' 카테고리의 다른 글
백준_5397 키로거(자바) / 문자열 (0) | 2021.07.09 |
---|---|
백준_1543 문서 검색(자바) / 문자열 (0) | 2021.07.08 |
백준_1764 듣보잡(자바) / 문자열 (0) | 2021.07.07 |
백준_10773 제로(자바) / 자료구조 (0) | 2021.07.06 |
백준_10773 균형잡힌 세상(자바)/자료구조 (0) | 2021.07.06 |