MUKER_DEV with iOS

[swift] ๋ฐฑ์ค€ - 17298๋ฒˆ: ์˜คํฐ์ˆ˜ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/BAEKJOON

[swift] ๋ฐฑ์ค€ - 17298๋ฒˆ: ์˜คํฐ์ˆ˜

MUKER 2023. 3. 14. 19:23
 

17298๋ฒˆ: ์˜คํฐ์ˆ˜

์ฒซ์งธ ์ค„์— ์ˆ˜์—ด A์˜ ํฌ๊ธฐ N (1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์— ์ˆ˜์—ด A์˜ ์›์†Œ A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค.

www.acmicpc.net


ํ’€์ด

let N = Int(readLine()!)!
var arr = readLine()!.split(separator: " ").map { Int($0)! }
var stack = [Int]()
var result = Array(repeating: 0, count: N)
for i in (0..<N).reversed() {
    while !stack.isEmpty && stack.last! <= arr[i] { stack.removeLast() }
    stack.isEmpty ? (result[i] = -1) : (result[i] = stack.last!)
    stack.append(arr[i])
}
print(result.map { String($0) }.joined(separator: " "))

 

์Šคํƒ์„ ์‚ฌ์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ๋Š” ์•„์ด๋””์–ด๋ฅผ ๋– ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค.