본문 바로가기

알고리즘

[Queue] Reveal Cards in Increasing Order - LeetCode Swift

문제 : https://leetcode.com/problems/reveal-cards-in-increasing-order/submissions/

 

Reveal Cards In Increasing Order - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

코드

class Solution {
    func deckRevealedIncreasing(_ deck: [Int]) -> [Int] {
        var q = deck.sorted(by: <)
        var result = Array(repeating: 0, count: deck.count)
        var indexQueue = Array(0..<deck.count)

        for element in q {
            var key = indexQueue.removeFirst()
            result[key] = element
            
            if !indexQueue.isEmpty {
                indexQueue.append(indexQueue.removeFirst())
            }
        }

        return result
    }
}
반응형