PS

[๋ฐฑ์ค€] 11899 ๊ด„ํ˜ธ ๋ผ์›Œ๋„ฃ๊ธฐ with Python

ํ˜•์ค€_It's 2022. 3. 16. 18:06
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ BOJ 11899 ๊ด„ํ˜ธ ๋ผ์›Œ๋„ฃ๊ธฐ

๐Ÿ’ก ์กฐ๊ฑด

  1. ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ์—ด์ด ์ฃผ์–ด์งˆ ๋•Œ, ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์•ž๊ณผ ๋’ค์— ๋ถ™์—ฌ์•ผ ํ•  ๊ด„ํ˜ธ์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ.

  2. S์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 50 ์ดํ•˜์ด๋ฉฐ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ๋Š” ์ฃผ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค.

  3. ๊ด„ํ˜ธ์—ด์ด๋ž€ ์—ฌ๋Š” ๊ด„ํ˜ธ โ€˜(โ€™์™€ ๋‹ซ๋Š” ๊ด„ํ˜ธ โ€˜)โ€™๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

  4. ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

    • "()"๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ž…๋‹ˆ๋‹ค.
    • A๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ผ๋ฉด "(A)" ์—ญ์‹œ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ž…๋‹ˆ๋‹ค.
    • A์™€ B๊ฐ€ ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ผ๋ฉด "AB" ์—ญ์‹œ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ž…๋‹ˆ๋‹ค.
  5. ๋ฌธ์ž์—ด, ์Šคํƒ, ์ž๋ฃŒ๊ตฌ์กฐ ์œ ํ˜•์˜ ๋ฌธ์ œ

๐Ÿ–ฅ ์†Œ์Šค ์ฝ”๋“œ

from sys import stdin

g = stdin.readline().rstrip()
cnt = 0


def solve(s):
    global cnt
    temp = 0
    for i in range(len(s) - 1, -1, -1):
        if s[i] == ')':
            temp += 1
        else:
            if temp - 1 < 0:
                cnt += 1
            else:
                temp -= 1

    if temp != 0:
        cnt += temp


solve(g)
print(cnt)

๐Ÿ”– ์˜ˆ์ œ ๋ฐ ์‹คํ–‰๊ฒฐ๊ณผ

์˜ˆ์ œ

))()((

์‹คํ–‰๊ฒฐ๊ณผ

4

โŒจ๏ธ ๋ฌธ์ œ ํ’€์ด

  1. ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ solve() ํ•จ์ˆ˜๋ฅผ ๊ฑฐ์ณ cnt์— ์ €์žฅ๋œ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

  2. solve() ๋Š” ๋ฌธ์ž์—ด์„ ์—ญ์ˆœํšŒํ•˜๋ฉฐ ๋‹ซ๋Š” ๊ด„ํ˜ธ์˜ ์ˆ˜๋ฅผ ์„ธ๋ฉฐ temp ์— ์ €์žฅํ•œ๋‹ค.

  3. ๋งŒ์•ฝ ์ˆœํšŒํ•˜๋Š” ์ค‘, ๋‹ซ๋Š” ๊ด„ํ˜ธ๊ฐ€ ์•„๋‹ ๊ฒฝ์šฐ ๋˜ํ•œ temp๊ฐ€ 0์ผ ๊ฒฝ์šฐ, cnt + 1

  4. ๋งŒ์•ฝ ์ˆœํšŒํ•˜๋Š” ์ค‘, ๋‹ซ๋Š” ๊ด„ํ˜ธ๊ฐ€ ์•„๋‹ ๊ฒฝ์šฐ ๋˜ํ•œ temp๊ฐ€ 0์ด ์•„๋‹ ๊ฒฝ์šฐ, temp - 1

  5. ์ˆœํšŒ๊ฐ€ ๋๋‚œ ํ›„์— temp ๊ฐ€ 0์ด ์•„๋‹ˆ๋ผ๋ฉด cnt ์— temp๋ฅผ ๋”ํ•ด์ค€๋‹ค.

  6. cnt ์ถœ๋ ฅ

๐Ÿ’พ ๋А๋‚€์ 

  1. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ๊ด„ํ˜ธ ๋ณ€ํ™˜ ๋“ฑ์˜ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ๊ณ ์ƒ์„ ํ•ด์„œ ๊ทธ๋Ÿฐ์ง€, ๊ฐ๊ฐ์€ ํ™•์‹ค์ด ๊นจ์–ด ์žˆ๋Š” ๋“ฏํ•˜๋‹ค.
๋ฐ˜์‘ํ˜•