본문 바로가기

해시맵2

[Java / Stream] 정수 배열(int[])을 해시맵으로 변환하기 / Collectors.toMap() 활용 예제 상황 다음과 같은 정수 배열 arr가 있을 때, 이 배열의 원소 별 count를 담는 해시맵을 만들고자 할 때 Collectors.toMap() 메서드를 활용할 수 있다. 결과로서의 arrMap은 다음과 같은 Key : Value 쌍을 이룰 것이다. - 1 : 3 - 2 : 2 - 3 : 1 int[] arr = {1, 1, 1, 2, 2, 3}; Map arrMap = Arrays.stream(arr) .boxed() .collect( Collectors.toMap( x->x, x->1, Integer::sum)); toMap() 메서드 살펴보기 아래는 toMap()의 선언부이다. 인자로서 keyMapper, valueMapper, mergeFunction을 받는다. 이때 mergeFunction.. 2023. 5. 20.
[프로그래머스] 베스트앨범(해시) - java https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이 문제에서 유의해야할 조건은 아래와 같다. 장르별 최대 두 곡까지만 수록한다. 장르별 재생횟수의 합이 가장 큰 장르부터 수록한다. 장르 내에서는 재생횟수가 가장 큰 곡부터 수록한다. 장르 내에서 재생횟수가 같을 경우 고유번호가 낮은 순서대로 수록한다. 이에 따라 문제는 다음과 같은 순서로 풀어나갔다. 장르별 재생횟수 총합 구한다. 해시맵 생성 장르 간 우선순위를 정립한다. 해시맵의 valu.. 2022. 12. 6.