[프로그래머스]뒤에 있는 큰 수 찾기(Swift) - Stack

brick·2023년 3월 5일
0

코테

목록 보기
36/53
import Foundation

func solution(_ numbers:[Int]) -> [Int] {
    var result: [Int] = Array(repeating: -1, count: numbers.count)
    var stack: [(Int, Int)] = []
    
    for (i, n) in numbers.enumerated() {
        if !stack.isEmpty {
            while !stack.isEmpty && stack.last!.1 < n {
                result[stack.removeLast().0] = n
            }
        }
        stack.append((i, n))
    }
    return result
}

0개의 댓글