leetcode 1833, Maximum Ice Cream Bars

NJW·2023년 1월 6일
0

코테

목록 보기
129/170

문제 설명

이번에도 그리디 알고리즘이다. 주어진 코인으로 얼마나 많은 아이스크림을 살 수 있는지 구하는 문제. '얼마나 많은'이라고 했으니 아이스크림들을 오름차순으로 정렬해서 범위가 되는 것까지 넣어주면 된다.

문제 풀이

  1. 변수들
    0-1. answer, 정답을 저장하는 변수(살 수 있는 아이스크림의 개수)
  2. 일단 아이스크림의 값을 정렬한다. 이때, 얼마나 많은 아이스크림을 살 수 있는지를 구하는 문제이니 오름차순으로 정렬한다.
  3. 반복문을 돌리면서 코인에다가 아이스크림을 하나씩 빼준다. 만일 코인이 0보다 작아졌다면 해당 아이스크림부터는 살 수 없다는 의미이니까 break를 해준다. 아니라면 살 수 있다는 의미이기에 answer에다가 1을 더해준다.
  4. 반복문을 나왔다면 answer을 반환한다.

코드

class Solution {
    public int maxIceCream(int[] costs, int coins) {
        int answer = 0;
        Arrays.sort(costs);
        
        for(int i=0; i<costs.length; i++){
            coins -= costs[i];
            if(coins < 0){
                break;
            }
            answer++;
        }

        return answer;
    }
}

여담

오늘 스키장 가서 이것만 풀고 간다. 그래도 다섯시애 일어나서 풀었다. 후후.

링크

https://leetcode.com/problems/maximum-ice-cream-bars/description/

profile
https://jiwonna52.tistory.com/

0개의 댓글