[프로그래머스]택배 상자(Swift) - Stack

brick·2023년 3월 11일
0

코테

목록 보기
47/53
import Foundation

func solution(_ order:[Int]) -> Int {
    var beltStack: [Int] = []
    var max: Int = 0
    var count: Int = 0
    
    for box in order {
        if beltStack.last == box {
            count += 1
            let _ = beltStack.removeLast()
        } else if max < box {
            count += 1
            for b in max+1..<box {
                beltStack.append(b)
            }
            max = box
        } else {
            break
        }
    }
    return count
}
  • test case
    [3, 2, 1, 5, 4] -> 5
    [3,5,4,2,1] -> 5

0개의 댓글