ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
๋ฌธ์
๋ฌธ์ ํ์ด
( ) ์ฐ์์ ์ผ๋ก ๊ดํธ๊ฐ ๋ฑ์ฅํ๋ฉด ํด๋น ์์น๋ ๋ ์ด์ ์ด๋ค. ๋ฐ๋ผ์ ๋ค๋ฅธ ๊ดํธ ๋ค๊ณผ ๊ตฌ๋ถํ ๋๊ฒ ( )๋ฅผ ๋ค๋ฅธ ๋ฌธ์๋ก ์นํํ๋ค๋ฉด ๋ฌธ์ ์ ์ ๊ทผํ๊ธฐ๊ฐ ์กฐ๊ธ ์ฌ์ ์ง๋ค.
๋ง์ฝ ( )๋ฅผ โ ๋ก ์นํํ๊ฒ ๋๋ค๋ฉด โ (((โ โ )(โ )โ ))(โ ) ์ ๊ฐ์ด ์นํ๋๊ฒ ๋๋ค. ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์๋ค.
- ์ฌ๋ ๊ดํธ์ธ '('๊ฐ ์ ๋ ฅ๋๋ฉด stack์ `push`ํ๊ณ ๋ซ๋ ๊ดํธ์ธ ')'๊ฐ ์ ๋ ฅ๋๋ฉด `pop`์ ํ๋ค.
- ํ์ฌ ๊ฐ์ด ์ฌ๋ ๊ดํธ '('๋ผ๋ฉด, ๋ง๋๊ธฐ์ ์๋ฅผ 1 ์ฆ๊ฐ ์ํจ๋ค.
- ํ์ฌ ๊ฐ์ด ๋ ์ด์ ๋ผ๋ฉด stack์ ์๋ ์ฌ๋ ๊ดํธ ์๋งํผ ๋ง๋๊ธฐ์ ์๋ฅผ ์ฆ๊ฐ์ํจ๋ค.
์ฆ, stack์ ์๋ ์ฌ๋ ๊ดํธ '('์ ์๋ ์ค์ฒฉ๋ ์ ๋ง๋๊ธฐ๋ฅผ ์๋ฏธํ๋ค. ๋ฐ๋ผ์ ์ฌ๋ ๊ดํธ๊ฐ stack์ ์๊ณ ๋ ์ด์ ๋ฅผ ๋ง๋๊ฒ ๋๋ฉด ์ค์ฒฉ๋ ๊ฐ์๋งํผ ์ฆ๊ฐ์์ผ์ฃผ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ์ ์๋ค.๐
์ฝ๋
from sys import stdin
if __name__ == "__main__":
s = stdin.readline().replace("()", "l")
stack = []
answer = 0
for c in s:
print(c)
if c == '(':
stack.append('(')
answer += 1
elif c == ')':
stack.pop()
elif c == 'l':
answer += len(stack)
print(answer)
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 1935 ํ์ ํ๊ธฐ์2 (0) | 2020.06.24 |
---|---|
๋ฐฑ์ค: 1918 ํ์ ํ๊ธฐ์ (0) | 2020.06.24 |
๋ฐฑ์ค: 17413 ๋จ์ด ๋ค์ง๊ธฐ 2 (0) | 2020.06.23 |
๋ฐฑ์ค: 17299 ์ค๋ฑํฐ์ (0) | 2020.06.23 |
๋ฐฑ์ค: 17298 ์คํฐ์ (4) | 2020.06.23 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ