ํ๋ก๊ทธ๋๋จธ์ค-Swift
ํ๋ก๊ทธ๋๋จธ์ค - ์ฌ๋ฐ๋ฅธ ๊ดํธ(Swift)
CheonD
2022. 10. 8. 11:11
ํ๋ก๊ทธ๋๋จธ์ค - ์ฌ๋ฐ๋ฅธ ๊ดํธ(Swift)
๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/12909
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋์ ํ์ด
๋ฐฐ์ด์ ์คํ์ผ๋ก ์ฌ์ฉํด์ ํ์๋ค.
ํ์ง๋ง ์ฒ์์ ๋ฐฐ์ด์ [String]๊ฐ์ผ๋ก ์ ์ธํ๊ธฐ์ ๊ฐ ๋ฌธ์์ด์ ๋ฌธ์์ ๋ํด์ String์ผ๋ก ๋ณํ์์ผ์ ์ ์ถํ์๋๋ฐ ํจ์จ์ฑ ํ ์คํธ์์ ๊ฑธ๋ ธ์๋ค.
์ด ๋ถ๋ถ์ Character๋ฐฐ์ด๋ก ๋ฐ๊พธ๊ณ ์งํํ๋ ์ ํต๊ณผํ๋ค.!๐
import Foundation
func solution(_ s:String) -> Bool
{
var stack: [Character] = []
for x in s {
stack.append(x)
if stack.count != 1 && x == ")" {
if stack[stack.endIndex-2] == "(" {
stack.popLast()
stack.popLast()
}
}
}
return stack.isEmpty ? true : false
}
ํผ๋๋ฐฑ
๋ฐฐ์ด์์ append์ popLast๋ฅผ ์ฌ์ฉํ๋ฉด ์คํ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.