[프로그래머스][Java] Lv2 귤 고르기

2023. 6. 15. 12:28·Algorithms(CT)


풀이과정

  1. HashMap을 활용해 귤 사이즈별 개수를 저장합니다.
  2. ArrayList에 귤 사이즈를 담습니다.
  3. 귤 개수가 많은 사이즈순으로 정렬합니다.
  4. 서로 다른 사이즈를 최소화하기 위해, 가장 많은 개수를 가진 사이즈를 k에서 뺍니다.
  5. k가 0이하가 될  때까지 귤 개수를 빼주면서, 귤 종류를 answer에 +1 합니다.
  6. k가 0 이하가 되었을 때의 answer을 return 합니다.

전체 코드

import java.util.*;
class Solution {
    public int solution(int k, int[] tangerine) {
        int answer = 0;
        
        Map<Integer,Integer> tan = new HashMap<>(); //귤 사이즈별 개수
        ArrayList<Integer> sizeTan = new ArrayList<>(); //귤 사이즈
        
        for(int i:tangerine) //크기별로 몇개 있는지 넣기.
            tan.put(i,tan.getOrDefault(i,0)+1);
        
        for(int i:tan.keySet()) //어떤 사이즈가 있는지 넣기.
            sizeTan.add(i);
        
        //사이즈별 개수가 많은 순서로 정렬
        Collections.sort(sizeTan, new Comparator<Integer>(){
            @Override
            public int compare(Integer a, Integer b){
                return tan.get(b)-tan.get(a);
            }
        });
        
        int now=0;
        while(k>0){
            //개수가 제일 많은 사이즈의 개수를 모두 빼기
            k-=tan.get(sizeTan.get(now));
            
            now++;
            answer++; //종류 개수 한개 추가
        }
        
        return answer;
    }
}

'Algorithms(CT)' 카테고리의 다른 글

[프로그래머스][Java] Lv.3 입국심사  (0) 2023.06.18
[프로그래머스][Java] Lv.2 괄호 회전하기  (0) 2023.06.16
[프로그래머스][Java] Lv.2 멀리 뛰기  (0) 2023.06.14
[프로그래머스][Java] Lv.2 N개의 최소공배수  (0) 2023.06.14
[프로그래머스][Java] Lv.3 아이템 줍기  (0) 2023.06.14
'Algorithms(CT)' 카테고리의 다른 글
  • [프로그래머스][Java] Lv.3 입국심사
  • [프로그래머스][Java] Lv.2 괄호 회전하기
  • [프로그래머스][Java] Lv.2 멀리 뛰기
  • [프로그래머스][Java] Lv.2 N개의 최소공배수
gwee_99
gwee_99
bE bETTER!
  • gwee_99
    얼렁이와 뚱땅이
    gwee_99
  • 전체
    오늘
    어제
    • ====Category====
      • Algorithms(CT)
        • Programmers
        • Baekjoon
        • Goorm
      • Web
        • Error 해결
      • BackEnd
        • Spring
        • JPA
      • FrontEnd
        • HTML.CSS
        • JavaScript
      • Language
        • Java
      • Cloud
      • CSTS
      • Books
        • IT 5분 잡학사전
      • 일상
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
    • 관리
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    프로그래머스
    IT 5분 잡학사전
    백준
    DFS
    구름
    개발자북클럽
    java
    그리디
    인프런
    LV.3
    Lv.1
    자바
    BFS
    HTML
    lv2
    스택
    존안님
    따라하며 배우는 html css
    DP
    노마드코더
    코딩테스트
    구름톤 챌린지
    호텔 대실
    Greedy
    제대로 파는 자바스크립트
    IT 잡학사전
    BOJ
    LV.2
    Til
    lv.4
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gwee_99
[프로그래머스][Java] Lv2 귤 고르기
상단으로

티스토리툴바