๋ฌธ์ ์ค๋ช
์ธ๊ณ๋ ๊ท ํ์ด ์ ์กํ์์ด์ผ ํ๋ค. ์๊ณผ ์, ๋น๊ณผ ์ด๋ ๊ทธ๋ฆฌ๊ณ ์ผ์ชฝ ๊ดํธ์ ์ค๋ฅธ์ชฝ ๊ดํธ์ฒ๋ผ ๋ง์ด๋ค.
์ ๋ฏผ์ด์ ์๋ฌด๋ ์ด๋ค ๋ฌธ์์ด์ด ์ฃผ์ด์ก์ ๋, ๊ดํธ๋ค์ ๊ท ํ์ด ์ ๋ง์ถฐ์ ธ ์๋์ง ํ๋จํ๋ ํ๋ก๊ทธ๋จ์ ์ง๋ ๊ฒ์ด๋ค.
๋ฌธ์์ด์ ํฌํจ๋๋ ๊ดํธ๋ ์๊ดํธ("()") ์ ๋๊ดํธ("[]")๋ก 2์ข ๋ฅ์ด๊ณ , ๋ฌธ์์ด์ด ๊ท ํ์ ์ด๋ฃจ๋ ์กฐ๊ฑด์ ์๋์ ๊ฐ๋ค.
- ๋ชจ๋ ์ผ์ชฝ ์๊ดํธ("(")๋ ์ค๋ฅธ์ชฝ ์๊ดํธ(")")์๋ง ์ง์ ์ด๋ค์ผ ํ๋ค.
- ๋ชจ๋ ์ผ์ชฝ ๋๊ดํธ("[")๋ ์ค๋ฅธ์ชฝ ๋๊ดํธ("]")์๋ง ์ง์ ์ด๋ค์ผ ํ๋ค.
- ๋ชจ๋ ์ค๋ฅธ์ชฝ ๊ดํธ๋ค์ ์์ ๊ณผ ์ง์ ์ด๋ฃฐ ์ ์๋ ์ผ์ชฝ ๊ดํธ๊ฐ ์กด์ฌํ๋ค.
- ๋ชจ๋ ๊ดํธ๋ค์ ์ง์ 1:1 ๋งค์นญ๋ง ๊ฐ๋ฅํ๋ค. ์ฆ, ๊ดํธ ํ๋๊ฐ ๋ ์ด์์ ๊ดํธ์ ์ง์ง์ด์ง์ง ์๋๋ค.
- ์ง์ ์ด๋ฃจ๋ ๋ ๊ดํธ๊ฐ ์์ ๋, ๊ทธ ์ฌ์ด์ ์๋ ๋ฌธ์์ด๋ ๊ท ํ์ด ์กํ์ผ ํ๋ค.
์ ๋ฏผ์ด๋ฅผ ๋์ ๋ฌธ์์ด์ด ์ฃผ์ด์ก์ ๋ ๊ท ํ์กํ ๋ฌธ์์ด์ธ์ง ์๋์ง๋ฅผ ํ๋จํด๋ณด์.
์ ๋ ฅ
ํ๋ ๋๋ ์ฌ๋ฌ์ค์ ๊ฑธ์ณ์ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. ๊ฐ ๋ฌธ์์ด์ ์๋ฌธ ์ํ๋ฒณ, ๊ณต๋ฐฑ, ์๊ดํธ("( )") ๋๊ดํธ("[ ]")๋ฑ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ธธ์ด๋ 100๊ธ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
์ ๋ ฅ์ ์ข ๋ฃ์กฐ๊ฑด์ผ๋ก ๋งจ ๋ง์ง๋ง์ ์ ํ๋(".")๊ฐ ๋ค์ด์จ๋ค.
์ถ๋ ฅ
๊ฐ ์ค๋ง๋ค ํด๋น ๋ฌธ์์ด์ด ๊ท ํ์ ์ด๋ฃจ๊ณ ์์ผ๋ฉด "yes"๋ฅผ, ์๋๋ฉด "no"๋ฅผ ์ถ๋ ฅํ๋ค.
์ ์ถ๋ ฅ ์์
์ ๋ ฅ
So when I die (the [first] I will see in (heaven) is a score list).
[ first in ] ( first out ).
Half Moon tonight (At least it is better than no Moon at all].
A rope may form )( a trail in a maze.
Help( I[m being held prisoner in a fortune cookie factory)].
([ (([( [ ] ) ( ) (( ))] )) ]).
.
.
์ถ๋ ฅ
yes
yes
no
no
no
yes
yes
๋ด ๋ฌธ์ ํ์ด
import Foundation
var input = ""
while true {
input = readLine()!
if input == "." { break }
var stack = [Character]()
var check = true
for i in input {
if i == "[" || i == "(" { stack.append(i) }
else if i == "]" || i == ")" {
if stack.isEmpty { check = false; break }
if i == "]" && stack.removeLast() != "[" { check = false; break }
else if i == ")" && stack.removeLast() != "(" { check = false; break }
}
}
if check == false { print("no") }
else {
if !stack.isEmpty { print("no") }
else {print("yes")}
}
}
์ด ๋ฌธ์ ๋ ๋ฐ๋ก ์ด์ ํ์๋ #9012 ๊ดํธ ๋ฌธ์ ์ ์ ์ฌํ์ฌ, ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ํ์ดํ๋ค.
- ๋ชจ๋ ํ์ด๋ #9012๋ฌธ์ ์ ๋์ผํ์ง๋ง, ๋ฑ ํ๊ฐ์ง ์ถ๊ฐ๋ ๋ด์ฉ์ด ์๋ค.
- "["๋ "]"์๋ง ์ง์ด ๋ ์ ์๊ณ , "("๋ ")"์ด๋๋ง ์ง์ด ๋ ์ ์๊ธฐ ๋๋ฌธ์
"]"์ด ์ฌ ๊ฒฝ์ฐ์๋ ์คํ์ ๋ง์ง๋ง ์์๊ฐ "["์ธ์ง ํ์ธ,
")"์ด ์ฌ ๊ฒฝ์ฐ์๋ ์คํ ๋ง์ง๋ง ์์๊ฐ "("์ธ์ง ํ์ธํด์ฃผ๋ ์กฐ๊ฑด๋ฌธ์ ๋ฃ์ด์คฌ๋ค.
๐ก ํผ๋๋ฐฑ
- ์์ ํ์๋ ๋ฌธ์ ์ ๊ฑฐ์ ๊ฐ์ ์ฝ๊ฒ ํ ์ ์์๋ค.
๋ฌธ์
'3๏ธโฃ Swift > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift Algorithm] ์นด๋2 BOJ #2164 (0) | 2021.08.13 |
---|---|
[Swift Algorithm] ์คํฐ์ BOJ #17298 (0) | 2021.08.08 |
[Swift Algorithm] ๊ดํธ BOJ #9012 (0) | 2021.08.07 |
[Swift Algorithm] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ Programmers(Lv.2) (0) | 2021.08.06 |
[Swift Algorithm] ์ฅ์ ์ ์ ๊พธ๋ฏธ๊ธฐ BOJ #6198 (0) | 2021.08.06 |
๋๊ธ