알고리즘 문제/Swift

[백준] 2869번 : 달팽이는 올라가고 싶다 - Swift

lingk 2022. 1. 1. 22:46

문제

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

 

2869번: 달팽이는 올라가고 싶다

첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

www.acmicpc.net

 

코드

import Foundation

var input = readLine()!.components(separatedBy: " ")

let numA = Double(input[0])!
let numB = Double(input[1])!
let numV = Double(input[2])!

var n = (numV - numA)/(numA-numB)+1

if n.truncatingRemainder(dividingBy: 1) != 0 {n = n/1 + 1}

print(Int(n))

 

 

내가 세운 부등식은 다음과 같다.

 

 

day는 (V-A)/(A-B)+1 보다 크거나 같은 정수이어야 한다.

따라서 (V-A)/(A-B)+1 가 정수가 아닌 경우에는 하루를 더해주었다.

반응형