요구능력 : 스택의 이해
코드설명 :
스택은 LIFO방식으로 작동한다.
마지막에 들어간게 먼저나오는 것이다.
헬스장에서 원판꽂는게 스택이라고 보면된다.
그냥 배열에 append하고 popLast하는게 스택이다.
후기 : 여기저기서 스택에 대한 이론은 귀에 딱지가 앉도록 들었다..
var stack:[Int] = []
let n = Int(readLine()!)!
for _ in 1...n {
let a = readLine()!.split(separator: " ").map{String($0)}
switch a[0] {
case "push":
push(Int(a[1])!)
break
case "pop":
print(pop())
break
case "size":
print(size())
break
case "empty":
print(empty())
break
case "top":
print(top())
break
default:
break
}
}
func push(_ x: Int){
stack.append(x)
}
func pop() -> Int{
if let pop = stack.popLast() {
return pop
}else {
return -1
}
}
func size() ->Int{
return stack.count
}
func empty() -> Int{
if stack.isEmpty {
return 1
}else {
return 0
}
}
func top() -> Int{
if let last = stack.last {
return last
}else {
return -1
}
}
'Algorithm > 문제풀이_백준' 카테고리의 다른 글
[swift][구현] 백준 16935번 (배열 돌리기 3) (0) | 2021.09.10 |
---|---|
[Swift][DFS/BFS] 백준 1260번 (DFS와 BFS) (0) | 2021.09.09 |
[Swift][BruteForce] 백준 3085번 (사탕게임) (0) | 2021.09.09 |
[Swift][DP] 백준 2193번 (이친수) (0) | 2021.09.07 |
[Swift][BruteForce] 백준 10972번(다음순열) (0) | 2021.09.07 |
댓글