반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 백준 BOJ - 10828 스택 문제를 풀었습니다.
목차
Github
문제 링크
https://www.acmicpc.net/problem/10828
풀이
해당 문제는 스택의 기본 개념을 묻는 질문입니다.
push, pop, top, empty, size를 구현하면 됩니다.
하나하나 메서드로 구현할까 고민했지만 굳이 그럴 필요는 없을 것 같아 switch문으로 해결했습니다.
전체 코드
//10828 스택
import Foundation
let loopCount = Int(readLine()!)!
var stack: [Int] = []
for _ in 0..<loopCount {
let command = readLine()!.split(separator: " ").map { String($0) }
switch command.first! {
case "push":
stack.append(Int(command.last!)!)
case "pop":
let pop = stack.popLast() ?? -1
print(pop)
case "size":
print(stack.count)
case "empty":
print(stack.isEmpty ? "1" : "0")
case "top":
let top = stack.last ?? -1
print(top)
default: break
}
}
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형