[백준] 설탕 배달 (2839)

문제 설명

백준 2839번 문제 링크

입력 및 출력

» 입력

첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000)

» 출력

상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정확하게 N킬로그램을 만들 수 없다면 -1을 출력한다.

예제 입출력(테스트케이스)

입력 출력
18 4
4 -1
6 2
9 3
11 3

문제 풀이(SWIFT) 1

//
//  main.swift
//  BOJ2839_SWIFT
//
//  Created by choiyoujun on 2022/02/08.
//

var N = Int(readLine()!)!
var dp = [Int](repeating: 0, count: 5001)
dp[3] = 1
dp[5] = 1

if N >= 6 {
    for i in 6...N {
        if dp[i - 3] != 0 {
            dp[i] = dp[i - 3] + 1
        }
        
        if dp[i - 5] != 0 {
            dp[i] = dp[i - 5] + 1
        }
    }
}

print(dp[N] == 0 ? -1 : dp[N])

태그:

카테고리:

업데이트: