새소식

인기 검색어

프로그래머스/Lv.2

[Swift] 기능개발

  • -
import Foundation

func solution(_ progresses:[Int], _ speeds:[Int]) -> [Int] {
    return zip(progresses, speeds)
        .map { (100 - $0 + ($1 - 1)) / $1 }
        .reduce(([], 0)) { (tuple, day) -> ([Int], Int) in
            let (list, lastMax) = tuple
            guard let lastCount = list.last else {
                return ([1], day)
            }
            if lastMax >= day {
                return (list.dropLast() + [lastCount + 1], lastMax)
            }
            return (list + [1], day)
        }.0
}

'프로그래머스 > Lv.2' 카테고리의 다른 글

[Swift] 다음 큰 숫자  (0) 2023.02.04
[Swift] 뉴스 클러스터링  (0) 2023.02.04
[Swift] 괄호 회전하기  (0) 2023.02.04
[Swift] 가장 큰 수  (0) 2023.02.04
[Swift] 압축  (0) 2023.02.04
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.