[백준 2437] 저울

Junyoung Park·2022년 5월 15일
0

코딩테스트

목록 보기
417/631
post-thumbnail

1. 문제 설명

저울

2. 문제 분석

누적 합의 성질을 생각해보는 문제. 분류는 그리디/정렬이었는데, 그리디 알고리즘을 푸는 방향보다는 수의 성질을 예시를 통해 접근하면서 귀납적으로 풀었던 문제였다. 이전에 파이썬으로 풀었던 경험이 있었기도 하고.

3. 나의 풀이

import Foundation

let N = Int(String(readLine()!))!
var numbers = Array(readLine()!.split(separator: " ").map{Int(String($0))!})
numbers.sort(by: <)
var sum = 0

for number in numbers {
    if sum + 1 >= number {
        sum += number
        // 누적값 sum에 1을 추가한 값보다 주어진 저울 무게가 작다면 측정 가능
        // number는 로컬 최솟값. 누적값으로 잴 수 있다면 계속해서 카운트한다.
    } else {
        break
    }
}

print(sum + 1)
profile
JUST DO IT

0개의 댓글