ํ๋ก๊ทธ๋๋จธ์ค - ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ(Swift)
ํ๋ก๊ทธ๋๋จธ์ค - ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ(Swift)
๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/12973
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋์ ํ์ด
์ฒ์์๋ ๋ฌธ์ ์์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ์คํ์ผ๋ก ๋ง๋ค๊ณ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํด์ ์ง์๋๊ฐ๋ ค๊ณ ํ๋๋ฐ ๋ณต์กํ ๊ฒ ๊ฐ์์ ๋ฌธ์ ๊ทธ๋๋ก ์์ฐจ์ ์ผ๋ก ์ ๊ฑฐํด๋๊ฐ๋ค.
ํ์ง๋ง ๋ฌธ์์ด ๊ธธ์ด ์กฐ๊ฑด์ด 1,000,000์ด๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ ์ฌ๋ฌ๋ฒ ํ์ํ๋ ๊ฒ์ ์ฌ๋ฌ๊ฐ์ง ์ผ์ด์ค์์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ๋ค.
๊ทธ๋์ ๋น ์คํ์ ๋ง๋ค์ด์ ํ ๋ฒ๋ง ๋๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋๋ก ํ์ดํ๋ค.
import Foundation
func solution(_ s:String) -> Int{
var stack: [Character] = []
var arr = Array(s)
for i in arr.indices {
if stack.isEmpty { stack.append(arr[i])}
else {
if stack.last! == arr[i] {
stack.removeLast()
} else {
stack.append(arr[i])
}
}
}
return stack.isEmpty ? 1 : 0
}
ํผ๋๋ฐฑ
๋ฐฐ์ด์ ์ฌ์ฉํ ๋ last๊ฐ๊ณผ removeLastํจ์๋ฅผ ์ ๊ทน์ ์ผ๋ก ์ด์ฉํ์.