MUKER_DEV with iOS

[swift] λ°±μ€€ - 10866번: 덱 λ³Έλ¬Έ

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

[swift] λ°±μ€€ - 10866번: 덱

MUKER 2023. 2. 15. 16:07
 

10866번: 덱

첫째 쀄에 μ£Όμ–΄μ§€λŠ” λͺ…λ Ήμ˜ 수 N (1 ≤ N ≤ 10,000)이 주어진닀. λ‘˜μ§Έ 쀄뢀터 N개의 μ€„μ—λŠ” λͺ…령이 ν•˜λ‚˜μ”© 주어진닀. μ£Όμ–΄μ§€λŠ” μ •μˆ˜λŠ” 1보닀 ν¬κ±°λ‚˜ κ°™κ³ , 100,000보닀 μž‘κ±°λ‚˜ κ°™λ‹€. λ¬Έμ œμ— λ‚˜μ™€μžˆμ§€

www.acmicpc.net

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

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

 


 

문제 μ„€λͺ…

 

 


 

λ‚˜μ˜ 풀이

var deque = [Int]()
for _ in 0..<Int(readLine()!)! {
    let input = readLine()!.split(separator: " ")
    switch input[0] {
    case "push_front": deque.insert(Int(input[1])!, at: 0)
    case "push_back": deque.append(Int(input[1])!)
    case "pop_front": print(deque.isEmpty ? -1 : deque.removeFirst())
    case "pop_back": print(deque.isEmpty ? -1 : deque.removeLast())
    case "size": print(deque.count)
    case "empty": print(deque.isEmpty ? 1 : 0)
    case "front": print(deque.isEmpty ? -1 : deque.first!)
    case "back": print(deque.isEmpty ? -1 : deque.last!)
    default : break
    }
}