반응형
문제
2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
코드
import Foundation
while let input = readLine(){
var result = -1
var num = Int(input)!
for five in stride(from: num/5, through: 0, by: -1) {
var tempKg = num - (5*five)
if tempKg % 3 == 0 {
result = five + (tempKg/3)
break
}
}
print(result)
}
설명
이중포문으로 접근이 가능하지만 아무래도 DP 문제다 보니, 시간초과가 발생할것 같았어요.
그래서 5kg의 개수를 최대로 선택하고, 남은 kg을 3kg 포대로 쪼갤 수 있다면(나머지%3 == 0일 때)
값을 저장하고 종료하도록 했습니다.
회고
백준에서 스위프트 언어로 문제 풀기 좀 빡세네요. 컴파일 에러 발생하고, 인풋때문에 플레이그라운드로 못풀죠??
백준 사이트의 문제는 자바로 풀던가 해야겠어요;;;
반응형
'코딩 테스트 > 백준(java)' 카테고리의 다른 글
DP - 9095. 1, 2, 3 더하기 (0) | 2021.03.25 |
---|---|
DP - 1463. 1로 만들기 (0) | 2021.03.25 |
Q14891번: 톱니바퀴 (0) | 2021.03.20 |
Q14890: 경사로 (0) | 2021.03.20 |
백준 2193) 이친수 (0) | 2017.09.16 |