๋ฐ์ํ
๋ฌธ์ ๋งํฌ
https://www.acmicpc.net/problem/9012
๋ฐ์ํ
๋ด๊ฐ ํผ ํ์ด
์ด๋ฐ์ ์ ๋ ฅ๋ฐ๋ line๋ค์ array์ ๋ฃ์ ํ, rightValue ๋ผ๋ ์๋ก์ด array์ (, (, ), ์ด๋ ๊ฒ ํ๋์ฉ ๋ฃ์ด์ฃผ๊ณ , '('์ ')' ๋ก ์์ด ์ด๋ฃจ์ด์ง๋ฉด ์์ ์ฃผ๊ณ , ์ต์ข ์ ์ผ๋ก rightValue ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ '0'์ด ๋๋ฉด YES๋ฅผ ์ถ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ ค๊ณ ํ๋ค. (์์ ์ ํ์ด์ฌ์ผ๋ก ์ฝํ ๋ฅผ ๋ณผ๋๋ ์ด๋ ๊ฒ ํ์๋ค.) ๊ทผ๋ฐ,,, ์์ธ์ง swift๋ pop๊ธฐ๋ฅ์ด ํ์ด์ฌ์ฒ๋ผ popleft, pop(0) ์ฒ๋ผ ์ผ์ชฝ ์ค๋ฅธ์ชฝ ์๋ฌด๋ ๊ฒ๋ pop ๋๋ ๊ธฐ๋ฅ์ด ์์ฐ์ค๋ฝ์ง ๋ชปํ ๊ฒ ๊ฐ์๋ค. (์์ง swift์ด๋ณด ๋ผ์ ๊ทธ๋ฐ๊ฑธ ์๋ ์์ด์. ์ด์ํ๋ค...)
์ด์จ๋ ๊ทธ๋์, countํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ฝ๋๋ฅผ ์งฐ๋ค.
import Foundation
let n = Int(readLine()!)!
for _ in 0..<n {
let line = readLine()!
var count = 0
for char in line{
if char == "(" {
count += 1
} else if char == ")" {
count -= 1
if count < 0 {
break
}
}
}
print(count==0 ? "YES" : "NO")
}
๋ฐ์ํ
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] (Swift) 1406๋ฒ - ์๋ํฐ (2) | 2022.01.30 |
---|---|
[๋ฐฑ์ค] (Swift) 1874๋ฒ - ์คํ ์์ด (0) | 2022.01.28 |
[๋ฐฑ์ค] (Swift) 9093๋ฒ - ๋จ์ด ๋ค์ง๊ธฐ (0) | 2022.01.16 |
[๋ฐฑ์ค] (Swift) 10828๋ฒ - ์คํ(stack) (0) | 2022.01.16 |
[๋ฐฑ์ค] 2178๋ฒ - ๋ฏธ๋กํ์ (ํ์ด์ฌ) (0) | 2021.10.14 |