본문 바로가기
알고리즘/[python] 백준 BOJ

[python] 백준 1092 배

by Alan_Kim 2023. 3. 21.
728x90
반응형

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

 

1092번: 배

첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보

www.acmicpc.net

 

문제 해결

  • 어떻게 배분해야할지 사고는 쉬웠다.
  • 하지만 sort를 쓰고 이중 for문을 쓰는 것은 상당히 부담스러웠다.
  • 하지만 방법이 생각이 안나 python3로 돌렸지만 시간초과 났다.
  • pypy3로는 잘 풀렸다.
  • 다른 풀이는 딱히 없는 것 같다.

CODE

import sys
input = sys.stdin.readline

n = int(input())
C = list(map(int, input().split()))
m = int(input())
B = list(map(int,input().split()))

C.sort(reverse=True)
B.sort(reverse=True)

cnt = 0
if C[0] < B[0]:
    print(-1)
    exit()
while len(B):
    for c in C:
        for b in B:
            if c >=b:
                B.remove(b)
                break
    cnt += 1
print(cnt)
728x90
반응형

'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글

[python] 백준 2573 빙산  (0) 2023.03.26
[python] 백준 9084 동전  (0) 2023.03.22
[python] 백준 1495 기타리스트  (0) 2023.03.20
[python] 백준 2631 줄세우기  (0) 2023.03.20
[python] 백준 15683 감시  (0) 2023.03.19

댓글