Closed
Description
π¬Β λ¬Έμ
https://app.codility.com/programmers/lessons/7-stacks_and_queues/nesting/
π¬Β Idea
- Sλ₯Ό λλ©΄μ β(βκ° λμμ λλ μ€νμ μ§μ΄λ£λλ€. (μ¦, μ€νμλ β(βλ§ μ μ₯λλ€.)
- β)βκ° λμμ λ
- μ€νμ΄ λΉμ΄μλ€λ©΄, μ€μ²©λμ§ μμ λ¬Έμμ΄μ λ»νλ―λ‘ 0μ 리ν΄νκ³ ν¨μλ₯Ό μ’ λ£νλ€.
- μ€νμ΄ λΉμ΄μμ§ μλ€λ©΄ β)βμ μ§μΈ β(βκ° μ€νμ 1κ° μ΄μ λ€μ΄μλ€λ μλ―Έμ΄λ―λ‘ μ€νμ λ§μ§λ§ μμλ₯Ό popνμ¬ μ§μ μ κ±°ν΄μ€λ€.
- ν΄λΉ μμ μν ν μ€νμ΄ λΉμ΄μμ§ μλ€λ©΄(== μ€νμ β(βκ° λ¨μμλ€λ©΄) μ€μ²©λμ§ μμ λ¬Έμμ΄μμ λ»νλ―λ‘ 0μ 리ν΄νκ³ , μ€νμ΄ λΉμ΄μλ€λ©΄ 1μ 리ν΄νλ©° ν¨μλ₯Ό μ’ λ£νλ€.
π¬Β νμ΄
public func solution(_ S : inout String) -> Int {
var stack: [Character] = []
for i in S {
if i == "(" {
stack.append(i)
} else {
if stack.isEmpty {
return 0
} else {
stack.popLast()
}
}
}
return stack.isEmpty ? 1 : 0
}
μμμκ°
: 10λΆ
μκ° λ³΅μ‘λ
: O(N)
νκ°ν
: https://app.codility.com/demo/results/trainingUU25J9-BGK/