Algorithm Problem/Python

[python] SWEA - 1218. [S/W ๋ฌธ์ œํ•ด๊ฒฐ ๊ธฐ๋ณธ] 4์ผ์ฐจ - ๊ด„ํ˜ธ ์ง์ง“๊ธฐ

deo2kim 2020. 8. 11. 07:52
๋ฐ˜์‘ํ˜•

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

1. D4 | ์Šคํƒ?

2. ๊ด„ํ˜ธ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ๊ฒ€์‚ฌํ•œ๋‹ค.

3. ์™ผ์ชฝ ๊ด„ํ˜ธ์ผ ๊ฒฝ์šฐ ์Šคํƒ์— ๋„ฃ๋Š”๋‹ค.

4. ์˜ค๋ฅธ์ชฝ ๊ด„ํ˜ธ์ผ ๊ฒฝ์šฐ ์Šคํƒ์˜ ๋งˆ์ง€๋ง‰์— ์žˆ๋Š” ๊ด„ํ˜ธ์™€ ๋น„๊ตํ•˜์—ฌ ์ง์ด ๋งž๋Š”์ง€ ๊ฒ€์‚ฌํ•œ๋‹ค.

5. ์ง์ด ๋งž์œผ๋ฉด ํ†ต๊ณผ

6. ์•„๋‹ˆ๋ผ๋ฉด ์ด ๊ด„ํ˜ธ๋“ค์€ ๋งž์ง€ ์•Š๋Š” ๊ด„ํ˜ธ์ด๋‹ค. ์ข…๋ฃŒ

 

๐Ÿ’จ ๊ฐ€๋ณ๊ฒŒ ์Šคํƒ์„ ์—ฐ์Šตํ•˜๋Š” ๋ฌธ์ œ

 

๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ

 def isRight(parenthesis):
    stack = []
    for paren in parenthesis:
        # ์™ผ์ชฝ ๊ด„ํ˜ธ
        if paren in parenthesis_list[0]:
            stack.append(paren)
        # ์˜ค๋ฅธ์ชฝ ๊ด„ํ˜ธ
        else:
            if stack:
                k = stack[-1]
                for i in range(4):
                    # ๊ด„ํ˜ธ ๋„ค๊ฐ€์ง€์ค‘ ์ง์ด ๋งž๋‹ค๋ฉด ํ†ต๊ณผ
                    if k == parenthesis_list[0][i] and paren == parenthesis_list[1][i]:
                        stack.pop()
                        break
                # ์•„๋‹ˆ๋ผ๋ฉด ๊ด„ํ˜ธ ์ง์ด ์•ˆ๋งž๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ๋ฐ”๋กœ 0์„ ๋ฐ˜ํ™˜
                else:
                    return 0
    else:
        return 1


# ์„œ๋กœ ๋งž๋Š” ๊ด„ํ˜ธ ์ง์„ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฆฌ์ŠคํŠธ
parenthesis_list = [
    ['(', '{', '[', '<'],
    [')', '}', ']', '>']
]
for tc in range(1, 11):
    n = int(input())
    parenthesiss = input()

    answer = isRight(parenthesiss)
    print('#{} {}'.format(tc, answer))

 

๐Ÿ“•๋ฌธ์ œ ํ™•์ธ

์ถœ์ฒ˜: SW Expert Academy

๋งํฌ: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14eWb6AAkCFAYD&categoryId=AV14eWb6AAkCFAYD&categoryType=CODE

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com

4 ์ข…๋ฅ˜์˜ ๊ด„ํ˜ธ๋ฌธ์ž๋“ค '()', '[]', '{}', '<>' ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค.

์ด ๋ฌธ์ž์—ด์— ์‚ฌ์šฉ๋œ ๊ด„ํ˜ธ๋“ค์˜ ์ง์ด ๋ชจ๋‘ ๋งž๋Š”์ง€ ํŒ๋ณ„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ์ž์—ด์€ ์œ ํšจํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค.



์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ์ž์—ด์€ ์œ ํšจํ•˜์ง€ ์•Š์€ ๋ฌธ์ž์—ด์ด๋‹ค. ๋ถ‰์€์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋œ ๊ด„ํ˜ธ์˜ ์ง์„ ์ฐพ์„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.



์•„๋ž˜ ๋ฌธ์ž์—ด์€ ์—ด๊ณ  ๋‹ซ๋Š” ๊ด„ํ˜ธ์˜ ๊ฐœ์ˆ˜๋Š” ์œ ํšจํ•˜๋‚˜ ์ง์ด ๋งž์ง€ ์•Š๋Š” ๊ด„ํ˜ธ๊ฐ€ ์‚ฌ์šฉ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์œ ํšจํ•˜์ง€ ์•Š๋‹ค.



[์ž…๋ ฅ]

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ์ผ€์ด์Šค์˜ ๊ธธ์ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ๋ฐ”๋กœ ๋‹ค์Œ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

์ด 10๊ฐœ์˜ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

[์ถœ๋ ฅ]

#๋ถ€ํ˜ธ์™€ ํ•จ๊ป˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ๊ณต๋ฐฑ ๋ฌธ์ž ํ›„ ์œ ํšจ์„ฑ ์—ฌ๋ถ€๋ฅผ 1 ๋˜๋Š” 0์œผ๋กœ ํ‘œ์‹œํ•œ๋‹ค (1 - ์œ ํšจํ•จ, 0 - ์œ ํšจํ•˜์ง€ ์•Š์Œ).

๋ฐ˜์‘ํ˜•