https://school.programmers.co.kr/learn/courses/30/lessons/138476
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
- 귤의 갯수를 가장 적은 가짓수로 담으면 되는 문제이다.
- 갯수를 큰거를 기준으로 정렬 후 담으려는 k개 보다 크거나 같으면 그 횟수를 return 시켜주면 된다.
- 코드레벨로 구현하면서 Map에 있는 key와 value를 모두 접근이 필요한 상황에 entrySet() 으로 접근이 가능하다는 것을 알았다.
- 문제 푸는 방법은 간단하니 entrySet() 접근 방법을 정리하고 마치겠다.
* Java Map의 entrySet()이란?
- Java Map 인터페이스에서 제공하는 메서드로, Map의 모든 키-값쌍을 Set으로 반환한다. Set은 Map.Entry 객체들의 집합으로 구성되어 있고, 각 Map 객체는 하나의 키와 그에 연결된 값을 나타낸다.
- 반환값 : Set<Map.Entry<K.V>> 각 항목이 Map.Entry 타입의 객체로 구성된 Set.
- 수정 가능 : 반환된 Set을 통해 Map 내용을 수정 가능하다.
- 반복 가능 : for-each 루프 혹은 Iterator로 순회할 수 있다.
- Map.Entry
-> getKey() : 현재 엔트리 키 반환
-> getValue() : 현재 엔트리 값 반환
-> setValue() : 현재 엔트리의 값을 수정
사용 예제
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("apple", 3);
map.put("banana", 1);
map.put("cherry", 2);
for(Map.Entry<String, Integer> mapEntry : map.entrySet) {
mapEntry.getValue();
mapEntry.getKey();
mapEntry.setValue();
}
}
}
- 기존 map의 .entrySet() 메서드를 이용하여 Map.Entry<K.V> 할당해서 사용한다.
'알고리즘 > 프로그래머스 LV2' 카테고리의 다른 글
프로그래머스 LV2 ( 디펜스 게임 ) (1) | 2025.01.30 |
---|---|
프로그래머스 뒤에 있는 큰 수 찾기 ( LV 2 ) (1) | 2025.01.21 |
프로그래머스 : 연속 부분 수열 합의 갯수 ( LV 2 ) (1) | 2025.01.19 |
프로그래머스 : 숫자 변환하기 ( LV 2 ) (0) | 2025.01.14 |
프로그래머스 : 테이블 해쉬 함수 ( LV 2 ) (0) | 2025.01.13 |