Leetcode Java Buy Two Chocolates
업데이트:
문제
코드
class Solution {
public int buyChoco(int[] prices, int money) {
int[] mins = new int[] { Integer.MAX_VALUE, Integer.MAX_VALUE };
for (int price : prices) {
if (price < mins[0]) {
mins[1] = mins[0];
mins[0] = price;
} else {
mins[1] = Math.min(mins[1], price);
}
}
int leftover = money - (mins[0] + mins[1]);
return leftover >= 0 ? leftover : money;
}
}
결과
설명
- prices의 가격을 가진 초콜릿들 중 가장 낮은 가격의 초콜릿 두 개를 money 내 구입한 후 남은 가격을 반환하는 문제이다.
- 만일 money로 가장 낮은 가격의 초콜릿 두 개를 사지 못한다면 money를 주어진 문제의 결과로 반환한다.
-
mins는 가장 작은 가격의 초콜릿 가격을 담기 위한 변수로, 2 크기의 정수 배열로 정의하여 각 값을 정수의 최댓값으로 초기화하여 prices의 모든 값을 순차적으로 반복하여 mins에 가장 낮은 가격의 초콜릿 두 개의 가격을 넣어준다.
- leftover는 money에서 두 초콜릿의 가격을 뺀 잔돈으로, 주어진 문제의 결과로 0 이상이면 leftover를 아니면 money를 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기