Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 알고리즘
- Two Pointer
- 백준
- 10991
- 투 포인터
- 점수계산
- 보이는 학생
- ArrayList
- 인프런
- 가장 짧은 문자거리
- 임시반장 정하기
- java
- 최대 길이
- 아스키코드
- array
- 코테준비
- GitHub #Commit #BaekJoon
- Pointer
- 큰 수 출력하기
- 등수구하기
- 연속부분수열
- 10992
- 누적 계산
- 뒤집은 소수
- 두 배열 합치기
- 자바
- 모든행과열대각선의합
- 배열
- 격자판
- 공통원소 구하기
Archives
- Today
- Total
ezhoon
[인프런] 04-01 학급 회장(Hash) 본문
📖 문제
- 첫 줄에 반 학생수 입력
- 두 번째 줄에 N개의 투표용지에 쓰여져 있던 각 후보의 기호 입력
- 어떤 기호의 후보가 학급 회장이 되었는지 출력하는 프로그램 만들기
⚠️ 주의사항
- HashMap의 getOrDefault 사용해서 put 해야 할 것
✍️ 이해
/**
* 1. 학생수(N), 알파벳(N개) 입력
* 2. for each로 map.put 하기
* 2.1 map.getOrDefault("odject", "default value") x값이 존재하면 존재하는 값의 + 1 없으면 x값 map에 추가 후 + 1
* 3. max값 지정
* 4. for each 로 map keySet() -> map 있는 모든 object 대입
* 4-1. if 현재 입력 된 map.get(object) > max 비교
* 4-1-1. true인 경우 max = map.get(x), answer = x;
* 5. return answer;
*/
✏️ 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
public class Main {
public char solution(int N, String str) {
char answer = ' ';
HashMap<Character, Integer> map = new HashMap<>();
for (char x : str.toCharArray()) {
map.put(x, map.getOrDefault(x, 0) + 1); // getOrDefault(x) x값 찾아감 만약 없다면 0을 반환
}
int max = Integer.MIN_VALUE;
for (char x : map.keySet()) { // map에 있는 모든 알파벳값들 x에 대입
if(map.get(x) > max){ //
max = map.get(x);
answer = x;
}
}
return answer;
}
public static void main(String[] args) throws IOException {
Main T = new Main();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
String str = br.readLine();
System.out.println(T.solution(N, str));
}
}
'[Java] 인프런 문제풀이 > HaspMap, TresSet (해쉬, 정렬지원 Set)' 카테고리의 다른 글
[인프런] 04_05 K번째 큰 수 (0) | 2022.01.25 |
---|---|
[인프런] 04_04 모든 아나그램 (0) | 2022.01.25 |
[인프런] 04_03 매출액의 종류 (0) | 2022.01.24 |
[인프런] 04-02 아나그램(해쉬) (0) | 2022.01.23 |
Comments