✅ 이 문제는 쉽다.
하지만 테케 2,4번이 틀려서 조금 헤매었는데, 그 이유는
var a : Int = 4
var b : Int = 3
이라고 가정하자.
Double(a/b) // 1.0
이렇게 작성했기에 문제가 발생했던 것이다.
그래서 수정
Double(a) / Double(b)로 수정하였다
//
// File.swift
// algorithm
//
// Created by Hamlit Jason on 2021/11/15.
//https://programmers.co.kr/learn/courses/30/lessons/42586
import Foundation
func solution(_ progresses:[Int], _ speeds:[Int]) -> [Int] {
var task : Int = 0 // 남은 일
var day = 0
var count = 0
var answer = [Int]()
for i in 0..<progresses.count {
task = 100 - progresses[i] // 남은 일의 양
if day == 0 {
day = day + Int(ceil(Double(task) / Double(speeds[i])))
if day == 0 {
day = 1
}
count = 1
} else {
let temp = task - (day * speeds[i])
if temp <= 0 {
count = count + 1
} else {
answer.append(count)
count = 1
day = day + Int(ceil(Double(temp) / Double(speeds[i])))
}
}
}
answer.append(count)
return answer
}
//print(solution([96,94], [3,3]))
//print(solution([93, 30, 55], [1, 30, 5]))
//var a : Int = 4
//var b : Int = 3
//
//print(ceil(Double(a/b)))
//print(Double(a) / Double(b))
'알고리즘 문제 풀이' 카테고리의 다른 글
[프로그래머스] 힙(Heap) 42627 Swift (0) | 2021.11.16 |
---|---|
[프로그래머스] 다리를 지나는 트럭 42583 swift (0) | 2021.11.16 |
[프로그래머스] 행렬의 곱셈 12949 Swift (0) | 2021.11.15 |
[프로그래머스] 60057 문자열 압축 Swift (0) | 2021.11.15 |
[프로그래머스] Swift 위장 - 42578 (0) | 2021.11.03 |