프로그래머스 귤 고르기

2024. 4. 29. 18:05· 알고리즘/문제풀이
목차
  1. 문제 설명 
  2. 제한사항 
  3. 문제 풀이

https://school.programmers.co.kr/learn/courses/30/lessons/138476

 

문제 설명 

경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다. 

 

예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가 귤 6개를 판매하고 싶다면, 크기가 1, 4인 귤을 제외한 여섯 개의 귤을 상자에 담으면, 귤의 크기의 종류가 2, 3, 5로 총 3가지가 되며 이때가 서로 다른 종류가 최소일 때입니다. 

 

경화가 한 상자에 담으려는 귤의 개수 k와 귤의 크기를 담은 배열 tangerine이 매개변수로 주어집니다. 경화가 귤 k개를 고를 때 크기가 서로 다른 종류의 수의 최솟값을 return 하도록 solution 함수를 작성해주세요. 

 

제한사항 

  • 1 ≤ k ≤ tangerine의 길이 ≤ 100,000 
  • 1 ≤ tangerine의 원소 ≤ 10,000,000

 

문제 풀이


            
import java.util.*;
class Solution {
public int solution(int k, int[] tangerine) {
int answer = 0;
HashMap<Integer, Integer> map = new HashMap<>();
for (int n : tangerine) {
map.put(n, map.getOrDefault(n, 0) + 1);
}
Integer[] arr = new Integer[map.size()];
int idx = 0;
for (int n : map.values()) {
arr[idx++] = n;
}
Arrays.sort(arr, (a, b) -> b - a);
for (int n : arr) {
answer++;
k -= n;
if (k <= 0) break;
}
return answer;
}
}

'알고리즘 > 문제풀이' 카테고리의 다른 글

프로그래머스 할인 행사  (0) 2024.05.07
프로그래머스 괄호 회전하기  (0) 2024.05.06
프로그래머스 예상 대진표  (0) 2024.04.29
프로그래머스 멀리 뛰기  (0) 2024.04.19
프로그래머스 추억 점수  (0) 2024.04.09
  1. 문제 설명 
  2. 제한사항 
  3. 문제 풀이
'알고리즘/문제풀이' 카테고리의 다른 글
  • 프로그래머스 할인 행사
  • 프로그래머스 괄호 회전하기
  • 프로그래머스 예상 대진표
  • 프로그래머스 멀리 뛰기
Hui._.
Hui._.
High hope
Hui._.
개발 일기
Hui._.
전체
오늘
어제
  • 분류 전체보기 (57)
    • Java (4)
    • Spring (26)
      • Spring Framework (6)
      • Spring Security (9)
      • JPA (11)
    • CS (2)
    • 알고리즘 (19)
      • 문제풀이 (16)
      • 자료구조 (3)
    • ETC (3)
    • Project (3)
      • Trouble Shooting (3)

블로그 메뉴

  • 홈
  • 글쓰기
  • 설정

공지사항

인기 글

태그

  • SOLID
  • Spring Boot 3.2.3
  • 스프링 시큐리티6.1
  • dynamic programming
  • 프로그래머스
  • oauth
  • Oauth 2.0
  • HashMap
  • 알고리즘
  • 추상화
  • java
  • jwt
  • 원칙
  • 최대공약수
  • 유클리드
  • 호제법
  • 회원 기능
  • Spring Security
  • Spring Security 6.1
  • 코딩테스트
  • 매핑
  • 분리
  • 최소공배수
  • persist
  • jpa
  • 스프링 부트3
  • 엔티티
  • 인터페이스
  • Spring Security + JWT + OAuth 2.0
  • 지연

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Hui._.
프로그래머스 귤 고르기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.