MUKER_DEV with iOS

[swift] λ°±μ€€ - 1966번: ν”„λ¦°ν„° 큐 λ³Έλ¬Έ

πŸ€– μ•Œκ³ λ¦¬μ¦˜/BAEKJOON

[swift] λ°±μ€€ - 1966번: ν”„λ¦°ν„° 큐

MUKER 2023. 2. 16. 01:03
 

1966번: ν”„λ¦°ν„° 큐

μ—¬λŸ¬λΆ„λ„ μ•Œλ‹€μ‹œν”Ό μ—¬λŸ¬λΆ„μ˜ ν”„λ¦°ν„° κΈ°κΈ°λŠ” μ—¬λŸ¬λΆ„μ΄ μΈμ‡„ν•˜κ³ μž ν•˜λŠ” λ¬Έμ„œλ₯Ό 인쇄 λͺ…령을 받은 ‘μˆœμ„œλŒ€λ‘œ’, 즉 λ¨Όμ € μš”μ²­λœ 것을 λ¨Όμ € μΈμ‡„ν•œλ‹€. μ—¬λŸ¬ 개의 λ¬Έμ„œκ°€ μŒ“μΈλ‹€λ©΄ Queue μžλ£Œκ΅¬μ‘°μ—

www.acmicpc.net

문제 ν‘ΈλŠ” 데 μžˆμ–΄ 도움이 λ˜λ„λ‘ λ‚˜μ˜ 풀이와 κ°œμ„ λœ 풀이λ₯Ό μ˜¬λ¦½λ‹ˆλ‹€.
λ˜ν•œ 풀이 ν›„ λ‹€λ₯Έ μ‚¬λžŒμ˜ 풀이λ₯Ό 보고 μ°Έκ³ ν• λ§Œν•œ 풀이도 μ˜¬λ¦½λ‹ˆλ‹€.

- λ¬Έμ œμ— 따라 λ‚˜μ˜ ν’€μ΄λ§Œ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.
- ν•΄λ‹Ή 풀이듀은 풀이 쀑 ν•˜λ‚˜μΌ 뿐 μ΅œμ„ μ˜ ν’€μ΄λŠ” 아닐 수 μžˆμŠ΅λ‹ˆλ‹€.

 


 

λ‚˜μ˜ 풀이

let count = Int(readLine()!)!
for _ in 0..<count {
    var result = 1
    let input = readLine()!.split(separator: " ").map { Int($0)! }
    var arr = Array(readLine()!.split(separator: " ").map { Int($0)! }.enumerated())
    while true {
        if arr[0].element == arr.max(by: { $0.element < $1.element })!.element {
            if arr[0].offset == input[1] { print(result); break }
            arr.removeFirst()
            result += 1
        } else {
            arr.append(arr.first!)
            arr.removeFirst()
        }
    }
}

 

- 첫번째 인덱슀λ₯Ό μ§€μš°λŠ” κ³Όμ •μ—μ„œ

μ‹œκ°„μ œν•œμ— 걸릴까 κ±±μ •ν–ˆλŠ”λ°

8ms둜 무사톡과 ν–ˆμŠ΅λ‹ˆλ‹€.