-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
๐ฌย ๋ฌธ์
https://app.codility.com/programmers/lessons/7-stacks_and_queues/brackets/
๐ฌย Idea
- ์ด๋ฆฐ ๊ดํธ์ผ ๋๋ stack์ ์ง์ด๋ฃ๊ณ
- ๋ซํ ๊ดํธ์ผ ๋๋ ์คํ์ ์ต์๋จ ์์๋ฅผ ๊บผ๋ด์ ํด๋น ์์๊ฐ ๋ซํ ๊ดํธ์ ์ง์ด ์๋๋ผ๋ฉด 0์ ๋ฆฌํดํ๋ค.
๐ฌย ํ์ด
public func solution(S : inout String) -> Int {
let pairBracket: [Character: Character] = ["}": "{", ")": "(", "]": "["]
var stack: [Character] = []
for s in S {
switch s {
case "}", "]", ")":
let lastChar = stack.popLast()
if lastChar != pairBracket[s] { return 0 }
default:
stack.append(s)
}
}
return stack.isEmpty ? 1 : 0
}
์์์๊ฐ
: 15๋ถ
์๊ฐ ๋ณต์ก๋
: O(N)
ํ๊ฐํ
: https://app.codility.com/demo/results/trainingYVSH9V-MA3/