개발놀이터
4-1. 학급회장 본문
package HashMap그리고TreeSet4장.학급회장4다시1.my;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
public class Main {
/**
* -내 풀이-
* 진짜 겁나 더럽게 풀었다...
* HashMap 에 각각 A, B, C, D, E 를 배열처럼 넣고
* 입력받은 문자열을 ArrayList 에 담아 해당 list 를 streamAPI 로 돌려서 equals 로 거르고 count 로 계산
*
* -선생님 풀이-
* 정말 간단하게 풀었는데 핵심은 HashMap 클래스의 getOrDefault 를 통해 카운팅을 했다.
* HashMap<Character, Integer> map = new HashMap<>();
* String str = "~";
* for (char c : str.toCharArray()) {
* map.put(c, map.getOrDefault(c, 0) + 1); // getOrDefault 는 있으면 가져오고 없으면 초기화하는 메서드
* }
*/
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int num = kb.nextInt();
String input = kb.next();
System.out.println(solution(num, input));
}
private static String solution(int num, String input) {
String answer = "";
ArrayList<String> list = new ArrayList<>();
HashMap<Integer, String> map = new HashMap<>();
char[] arr = input.toCharArray();
long max = 0;
long[] result = new long[5];
map.put(0, "A");
map.put(1, "B");
map.put(2, "C");
map.put(3, "D");
map.put(4, "E");
for (char c : arr) {
list.add(Character.toString(c));
}
for (int i = 0; i < 5; i++) {
int find = i;
result[i] = list.stream().filter(x -> x.equals(map.get(find))).count();
if (max < result[i]) {
max = result[i];
answer = map.get(i);
}
}
return answer;
}
}
package HashMap그리고TreeSet4장.학급회장4다시1.teacher;
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
String str = kb.next();
System.out.println();
}
private static char solution(int n, String s) {
char answer = '\0';
HashMap<Character, Integer> map = new HashMap<>();
for (char x : s.toCharArray()) {
map.put(x, map.getOrDefault(x, 0) + 1);
}
int max = Integer.MIN_VALUE;
for (char key : map.keySet()) {
if (max < map.get(key)) {
answer = key;
}
}
return answer;
}
}
'기타 > 코딩테스트' 카테고리의 다른 글
4-3. 매출액의 종류 (0) | 2023.02.23 |
---|---|
4-2. 아나그램 (0) | 2023.02.23 |
3장 주요 개념 및 복습 (0) | 2023.02.18 |
3-6. 최대 길이 연속 부분수열 (0) | 2023.02.18 |
3-5. 연속된 자연수의 합 (0) | 2023.02.18 |