import java.util.HashMap;
import java.util.Map;
class Solution {
public int solution(String[] strArr) {
Map<Integer, Integer> groupCounts = new HashMap<>(); // 각 그룹의 개수를 저장할 맵
// 문자열 배열의 원소들을 그룹으로 묶고, 그룹별 개수를 계산
for (String str : strArr) {
int length = str.length();
groupCounts.put(length, groupCounts.getOrDefault(length, 0) + 1);
}
int maxCount = 0; // 가장 개수가 많은 그룹의 크기
// 가장 개수가 많은 그룹의 크기 찾기
for (int count : groupCounts.values()) {
if (count > maxCount) {
maxCount = count;
}
}
return maxCount;
}
}
각 그룹의 개수를 저장할 맵인 groupCounts를 생성합니다.
문자열 배열 strArr을 순회하면서 각 문자열의 길이를 구합니다.
groupCounts에서 해당 길이의 그룹 개수를 가져와 1을 더한 후 다시 저장합니다. 만약 해당 길이의 그룹이 처음 나온 경우라면 0을 가져온 뒤 1을 더하여 저장합니다.
가장 개수가 많은 그룹의 크기를 저장할 변수 maxCount를 0으로 초기화합니다.
groupCounts의 값들을 순회하면서 maxCount보다 큰 값이 나오면 maxCount를 해당 값으로 갱신합니다.
maxCount를 반환합니다.