• Home
  • About
    • Che1's Blog photo

      Che1's Blog

      Che1's Dev Blog

    • Learn More
    • Facebook
    • Instagram
    • Github
    • Steam
    • Youtube
  • Posts
    • All Posts
    • Django
    • Python
    • Front-end
    • Algorithm
    • etc
    • All Tags
  • Projects

[Level 2] 괄호 확인하기

11 Oct 2017

Reading time ~1 minute

is_pair함수는 문자열 s를 매개변수로 입력받습니다. s에 괄호가 알맞게 짝지어져 있으면 True를 아니면 False를 리턴하는 함수를 완성하세요. 예를들어 s가 “(hello)()”면 True이고, “)(“이면 False입니다. s가 빈 문자열(““)인 경우는 없습니다.


내 풀이

def is_pair(n):
    for i in n:
        if i == ')':
            return False

        elif i == '(':
            a = n.count('(')
            b = n.count(')')
            if a == b:
                return True
            else:
                return False
            break

print( is_pair("(hello)()"))
print( is_pair(")("))            
True
False

이 풀이법이 programmers.com의 테스트를 통과하길래 문제 없는줄 알았는데 그게아니었다.
그냥 랜덤으로 생성되는 테스트 케이스들 중에 운좋게 실패하는 테스트 케이스가 없었나보다.
아래의 테스트 케이스의 경우 실제로 괄호 짝이 안맞는데도 True 값이 리턴된다.

# 임세준님 제보
print( is_pair("(hello))(()()"))

나중에 다시 풀어보아야겠다.



Algorithm Share Tweet +1