PS/문제 풀이

[프로그래머스/Swift] 131704번 - 택배상자

시르베어 2025. 2. 24. 14:33

풀이

  • 단순구현문제
  • 서브 컨테이너는 스택형식으로 보면됨
  • now는 메인 컨테이너의 박스

전체 코드

import Foundation

func solution(_ order:[Int]) -> Int {
  var subContainer: [Int] = []
  var result: Int = 0
  var now: Int = 1
  var idx: Int = 0
  
  while idx < order.count {
    if order[idx] == now {
      result += 1
      now += 1
      idx += 1
    }
    else if order[idx] > now {
      subContainer.append(now)
      now += 1
    }
    else {
      if subContainer.last == order[idx] {
        subContainer.removeLast()
        result += 1
        idx += 1
      }
      else {
        break
      }
    }
  }
  return result
}