[프로그래머스] 기능 개발 - Swift

이창형·2023년 3월 16일
0

코드

func solution(_ progresses:[Int], _ speeds:[Int]) -> [Int] {
    var result = [Int]()
    var progresses = progresses
    var speeds = speeds

    while !progresses.isEmpty {
        for i in (0..<progresses.count) {
            progresses[i] += speeds[i]
        }

        var count = 0
        while progresses.first ?? -1 >= 100 {
            progresses.removeFirst()
            speeds.removeFirst()

            count += 1
        }

        if count > 0 {
            result.append(count)
        }
    }
    return result
}

회고

  • 스택/큐에 관한 문제였다
  • 첫 번째 일이 끝날때까지 speed를 더해주고 첫 번째 일이 끝나면 끝난일이 몇개인지 확인하여 배열에 저장하고 답을 구하는 문제
profile
iOS Developer

0개의 댓글