import Foundation

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

    return result
}

 

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

[Swift] 다리를 지나는 트럭  (0) 2023.04.29
[Swift] 2개 이하로 다른 비트  (0) 2023.04.29
[Swift] 모음사전  (0) 2023.04.29
[Swift] 쿼드압축 후 개수세기  (0) 2023.04.29
[Swift] 스킬트리  (0) 2023.04.27