(Java) 프로그래머스 예산

2021. 11. 13. 06:25·코딩 테스트

요즘 자꾸 문제를 큐로 풀고 있다.

큐의 poll과 peek을 이용해서 신청금액을 적은 숫자부터 더하다가 다음 숫자를 더했을 때 금액이 예산 이상이면

그만두게 해야겠다 라고 생각해서 큐를 사용했는데

다른분들의 코드를 보니 너무 간단하게 풀어서 살짝 허무했다....

하나의 문제도 최소 2가지 방법을 생각해서 풀어봐야겠다.


최종 코드

import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
class Solution {
    public int solution(int[] d, int budget) {
        int answer = 0;
        // 큐에 넣기전에 정렬
        Arrays.sort(d);
        Queue<Integer> qu = new LinkedList<>();

        // d의 원소 큐에 넣기
        for (int i : d) {
            qu.add(i);
        }

        // 신청금액을 더하기 위한 변수
        int num = 0;
        // 신청금액의 합이 예산을 넘지 않으면서 큐가 비어 있지 않을때까지
        while (!(num >= budget) && !(qu.isEmpty())) {
            // 지금까지의 합과 다음 신청금액의 합이 예산을 넘지 않으면
            if(num + qu.peek() <= budget) {
                num += qu.poll();
                answer++;
            }
            else break;
        }
        return answer;
    }
}

 

다른 분 코드

import java.util.*;

class Solution {
  public int solution(int[] d, int budget) {
      int answer = 0;

        Arrays.sort(d);

        for (int i = 0; i < d.length; i++) {
            budget -= d[i];

            if (budget < 0) break;

            answer++;
        }

        return answer;
  }
}

'코딩 테스트' 카테고리의 다른 글

(Java) 문자열 p와 y의 개수  (0) 2021.11.13
(Java) 프로그래머스 2016  (0) 2021.11.13
(Java) 프로그래머스 최소직사각형  (0) 2021.11.12
(Java) 프로그래머스 나머지가 1이 되는 수 찾기  (0) 2021.11.11
(Java) 프로그래머스 비밀지도  (0) 2021.11.10
'코딩 테스트' 카테고리의 다른 글
  • (Java) 문자열 p와 y의 개수
  • (Java) 프로그래머스 2016
  • (Java) 프로그래머스 최소직사각형
  • (Java) 프로그래머스 나머지가 1이 되는 수 찾기
로승리
로승리
Roy's Blog로승리 님의 블로그입니다.
  • 로승리
    Roy's Blog
    로승리
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Issuefy
      • Language
      • Spring
      • Database
      • Network
      • Kubernetes
      • AWS
      • YAPP
      • 코드스쿼드
      • 코딩 테스트
      • 생각정리
      • 국비지원
      • 회고
      • 컨퍼런스, 세미나
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
로승리
(Java) 프로그래머스 예산
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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