입출력 예
strArr | result |
["a","bc","d","efg","hi"] | 2 |
입출력 예 설명
입출력 예 #1
- 각 문자열들을 길이에 맞게 그룹으로 묶으면 다음과 같습니다.
문자열 길이 | 문자열 목록 | 개수 |
1 | ["a","d"] | 2 |
2 | ["bc","hi"] | 2 |
3 | ["efg"] | 1 |
- 개수의 최댓값은 2이므로 2를 return 합니다.
코드
import java.util.*;
class Solution {
public int solution(String[] strArr) {
// 문자열길이, 개수
Map<Integer, Integer> map = new HashMap<>();
for(String s : strArr) {
map.put(s.length(), map.getOrDefault(s.length(), 0) + 1);
}
return map.values().stream()
.mapToInt(Integer::intValue)
.max()
.orElse(0);
}
}
반복을 한번만
import java.util.*;
class Solution {
public int solution(String[] strArr) {
// 문자열길이, 개수
Map<Integer, Integer> map = new HashMap<>();
int maxCount = 0;
for (String s : strArr) {
int length = s.length();
// Map 업데이트
int currentCount = map.getOrDefault(length, 0) + 1;
map.put(length, currentCount);
// 최대값 즉시 갱신 (추가 작업)
if (currentCount > maxCount) {
maxCount = currentCount;
}
}
return maxCount;
}
}
Share article