알고리즘 문제풀이

백준 - 사탕 11256(Python)

2023. 2. 28. 12:07
목차
  1. 문제설명
  2. 입력
  3. 출력
  4. 예제입력 / 예제출력
  5. 문제이해 및 코드설명
  6. 코드
반응형
[Silver V] 사탕 - 11256

https://www.acmicpc.net/problem/11256

 

문제설명

당신은 사탕 공장의 주인이다. 날마다, 당신은 J개의 사탕을 가게에 보내기 위해 상자에 포장해야 한다.

당신은 크기가 다른 상자 N개를 가지고 있다. 당신은 편리를 위해 상자를 최소한으로 쓰려고 한다. (박스를 다 채울 필요는 없다. 일부분만 채워도 된다.)

당신이 공장에서 나오는 사탕의 개수와 각 상자의 크기를 입력받고, 상자를 최소한으로 쓸 때의 사용되는 상자 개수를 출력하는 프로그램을 작성하라. 사탕들을 포장할 공간은 충분하다는 것이 보장된다.

 

입력

첫 번째 줄에는 테스트 케이스의 개수 T (1 ≤ T ≤ 10)가 주어진다. 각각의 테스트 케이스는 아래 형식을 따른다.

테스트 케이스의 첫 번째 줄에는 사탕의 개수 J와 상자의 개수 N이 주어진다. (1 ≤ J, N ≤ 1,000)

다음 N개의 줄에는 각각 줄마다 i번째 상자의 세로 길이 Ri 그리고 가로 길이 Ci가 주어진다. 상자의 크기는 다른 상자의 크기와 똑같을 수도 있다. 상자에는 Ri * Ci보다 더 많은 사탕을 포장할 수 없다. (1 ≤ Ri, Ci ≤ 10,000)

 

출력

출력은 T개의 줄로 이루어진다. 각각의 줄마다 i번째 테스트 케이스에서 최소한의 상자 개수를 출력하여야 한다.

 

 

예제입력 / 예제출력

 

문제이해 및 코드설명

사탕의 개수를 담기위해 각각 용량이 다른 박스 사용할때 최소한의 박스 수를 구하는 문제이다

상자에는 각각 가로 세로 줄의 정보를 입력받기 떄문에 가로 * 세로를하게되면 박스에 담을 수 있는 수를 구할수가있다.

사탕의 개수가 정해져있으므로 가로 * 세로 를 구한값을 정렬 후 초과하거나 같으면 멈추는 코드를 작성하였다.

 

코드

import sys
input = sys.stdin.readline

T = int(input())

for i in range(T):
    tmp = []
    J, N = map(int,input().split())
    for j in range(N):
        a,b = map(int,input().split())
        tmp.append(a*b)
    tmp.sort(reverse=True)
    ans = 0
    for a in range(N):
        ans += tmp[a]
        if ans >= J:
            print(a+1)
            break

 

반응형

'알고리즘 문제풀이' 카테고리의 다른 글

백준 - 경로 찾기 11403(Python)  (0) 2023.02.28
백준 ATM 11399 (Python)  (0) 2023.02.28
백준 - 덱 10866(Python)  (0) 2023.02.28
백준 - 큐 10845(Python)  (0) 2023.02.27
백준 - 스택 10828(Python)  (0) 2023.02.27
  1. 문제설명
  2. 입력
  3. 출력
  4. 예제입력 / 예제출력
  5. 문제이해 및 코드설명
  6. 코드
'알고리즘 문제풀이' 카테고리의 다른 글
  • 백준 - 경로 찾기 11403(Python)
  • 백준 ATM 11399 (Python)
  • 백준 - 덱 10866(Python)
  • 백준 - 큐 10845(Python)
coryne
coryne
반응형
coryne
coryne의 정리노트
coryne
전체
오늘
어제
  • 분류 전체보기 (56)
    • python (2)
    • Web programing (1)
    • Linux (3)
    • Deep Learning (0)
    • 기타 (0)
    • 알고리즘 문제풀이 (49)
    • 빅데이터분석기사 (0)
    • 알고리즘 이론 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • EduAtoZ
  • 출처 : eduatoz
  • 플로이드-워셜
  • 우선순위 큐
  • 자료구조
  • 그래프 이론
  • 공공데이터일경험수련생
  • 구현
  • 백준
  • 그리디 알고리즘
  • 스택
  • 소수 판정
  • 다이나믹 프로그래밍
  • Python
  • 자료 구조
  • 빅데이터분석기사 실기
  • 깊이 우선 탐색
  • 데이크스트라
  • 자료 구조(data_structures)
  • 그래프 탐색
  • 정수론
  • machine_learning
  • 문자열
  • pandas
  • 정렬
  • 큐
  • 빅데이터분석기사
  • 너비 우선 탐색
  • 수학
  • 브루트포스 알고리즘

최근 댓글

최근 글

hELLO · Designed By 정상우.
coryne
백준 - 사탕 11256(Python)
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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