[백준 1092] 배

Junyoung Park·2022년 6월 8일
0

코딩테스트

목록 보기
461/631
post-thumbnail

1. 문제 설명

2. 문제 분석

무게 제한과 무게를 입력받고, 내림차순으로 정렬하자. 가장 제한이 큰 배보다 무게가 크다면 애초에 싣지 못하는 짐이다. 현재 시점의 무게 제한은 "가장 큰" 배이므로, 1분에 N개의 크레인을 써서 앞에서부터 실어나가자.

3. 나의 풀이

import Foundation

let N = Int(String(readLine()!))!
var weightLimits = Array(readLine()!.split(separator: " ").map{Int(String($0))!})
let M = Int(String(readLine()!))!
var weights = Array(readLine()!.split(separator: " ").map{Int(String($0))!})

weightLimits.sort(by: >)
weights.sort(by: >)

if weightLimits[0] < weights[0] {
    print(-1)
} else {
    var total = 0
    while weights.isEmpty == false {
        for limit in weightLimits {
            for idx in 0..<weights.count {
                if limit >= weights[idx] {
                    weights.remove(at: idx)
                    break
                }
            }
        }
        total += 1
    }
    print(total)
}
profile
JUST DO IT

0개의 댓글