func solution(_ w:Int, _ h:Int) -> Int64{
var r = h - 1
var result = 0
var min:Double = 0
var max:Double = 0
var count = 0
if w > h {
min = Double(h)
max = Double(w)
}else {
min = Double(w)
max = Double(h)
}
var inc:Double = max / min
var wi = 0
if h == 1 || w == 1 {
return 0
}else{
for i in 1...Int(max) - 1 {
if Double(i) / (Double(wi) + 1) >= inc {
wi = wi + 1
// print(wi)
result = result + wi
}else {
// print(wi)
result = result + wi
}
}
}
// print(result)
var answer:Int64 = Int64(result * 2)
return answer
}
1시간12분
기울기를 이용해서 풀었습니다. 기울기보다 커지면 + 1 해서 더하기 아니면 그냥 더하기
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 타겟넘버 스위프트 (0) | 2022.02.10 |
---|---|
[프로그래머스] 기능개발 스위프트 (0) | 2022.02.09 |
[프로그래머스] 오픈채팅방 스위프트 (0) | 2022.02.07 |
[프로그래머스] 문자열압축 스위프트 (0) | 2022.02.06 |
[프로그래머스] 직사각형별찍기 스위프트 (레벨1 완) (0) | 2022.02.05 |
댓글