https://school.programmers.co.kr/learn/courses/30/lessons/181855
getOrDefault
[JAVA] Map - getOrDefault 이란? 사용법 및 예제 (tistory.com)
- 찾는 키가 존재한다면 찾는 키의 값을 반환하고 없다면 기본 값을 반환하는 메서드
getOrDefault(Object key, V DefaultValue)
- key : 값을 가져와야 하는요소의 키
- defaultValue : 지정된 키로 매핑된 값이 없는 경우 반환되어야 하는 기본 값
반환 값 : 찾는 키가 존재하면 해당 key에 매핑되어 있는 값을 반환하고, 그렇지 않으면 디폴트 값이 반환된다.
정답
import java.util.HashMap;
class Solution {
public int solution(String[] strArr) {
//key: 문자열의 길이 value: 길이가 같은 문자열의 개수
HashMap<Integer,Integer> map = new HashMap<>();
for(String s : strArr)
{
int len = s.length();
map.put(len, map.getOrDefault(len,0)+1);
}
int max = 0;
for(int groupSize : map.values())
{
max = Math.max(max,groupSize);
}
return max;
}
}
다른 사람의 풀이
1)
class Solution {
public int solution(String[] strArr) {
int answer = 0;
int[] lengArr = new int[31];
for(int i=0; i<strArr.length; i++) {
lengArr[strArr[i].length()]++;
}
for(int i=0; i<=30; i++) {
answer = Math.max(answer, lengArr[i]);
}
return answer;
}
}
2)
import java.util.*;
class Solution {
public int solution(String[] strArr) {
Map<Integer, ArrayList<String>> map = new HashMap<>();
for (String str : strArr) {
int len = str.length();
if (map.containsKey(len)) {
map.get(len).add(str);
} else {
ArrayList<String> temp = new ArrayList<>();
temp.add(str);
map.put(len, temp);
}
}
int answer = 0;
for (int len : map.keySet())
answer = Math.max(answer, map.get(len).size());
return answer;
}
}
'Java > 프로그래머스' 카테고리의 다른 글
[JAVA] 프로그래머스 - 뒤에서 5등까지 (0) | 2024.04.12 |
---|---|
[JAVA] 프로그래머스 - 배열에 길이에 따라 다른 연산하기 (1) | 2024.04.12 |
[JAVA] 프로그래머스 - 배열 비교하기 (0) | 2024.04.11 |
[JAVA] 프로그래머스 - 배열의 길이를 2의 거듭제곱으로 만들기 (0) | 2024.04.11 |
[JAVA] 프로그래머스 - 무작위로 k개의 수 뽑기 (0) | 2024.04.11 |