
문제 코드 class Solution { public int solution(int[] ingredient) { int answer = 0; Deque stack = new ArrayDeque(); for(int i = 0; i < ingredient.length; i++) { stack.addLast(ingredient[i]); while (canMakeBurger(stack)) { makeBurger(stack); answer++; } } return answer; } private boolean canMakeBurger(Deque stack) { if (stack.size() < 4) { return false; } Integer fourth = stack.pollLast(); Integer thi..

문제 코드 import java.util.Arrays; class Solution { public int solution(int[] numbers) { int sum = 45; Arrays.sort(numbers); for (int i = 0; i IntStream.of(numbers).noneMatch(j -> j == i)) .sum..

문제 코드 import java.util.Arrays; class Solution { public int solution(int[] number) { int answer = 0; Arrays.sort(number); for (int i = 0; i < number.length - 2; i++) { int left = i + 1; // 왼쪽 포인터를 설정 int right = number.length - 1; // 오른쪽 포인터를 설정. while (left < right) { // 왼쪽 포인터가 오른쪽 포인터보다 작은 동안 반복합니다. int sum = number[i] + number[left] + number[right]; // 세 숫자의 합을 계산. if (sum == 0) { // 합이 0인 경우..

1. 문제 설명 2. 코드 import java.util.Arrays; class Solution { public int solution(int k, int m, int[] score) { int answer = 0; Arrays.sort(score); int n = score.length; for (int i = n - 1; i >= m - 1; i -= m) { answer += m * score[i - m + 1]; } return answer; } } 3. 문제 해석 1. 각 상자의 가격을 최대로 만들어야 한다. 2. 상자에 담긴 사과들 중 가장 낮은 점수가 최대가 되도록 상자를 구성 -> 내림차순으로 정렬 후 가장 높은 점수의 사과부터 m개씩 담는 그리디 알고리즘을 사용 4. 보다 객체 지향 적..