마이라이프해피라이프

[알고리즘 스터디] 백준 9012번 Python 풀이 - list() 본문

컴퓨터/Python

[알고리즘 스터디] 백준 9012번 Python 풀이 - list()

YONJAAN 2022. 4. 6. 02:26

# 문제

https://www.acmicpc.net/problem/9012

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

# 고민

()는 VPS. ( 를 +1 이라 했을 때 ) -1이라 하고 총 합이 0이 되면 되지 않을까?

또, 전체 count 값이 음수가 되면 VPS가 될 수 없다 -> break하고 False 출력

# 작성 코드

num = int(input())

for _ in range(num):
  string = input()
  split_list = list(string)
  count = 0
  for ch in split_list:
    if count < 0:
      break
    else:
      if ch == "(":
        count += 1
      else:
        count -= 1
  if count != 0:
    print("NO")
  else:
    print("YES")

 

# 기억해야 할 것

- input()으로 받은 것 -> string data type을 가짐. 이를 숫자로 활용하려면 int()로 변환해줘야 함. 

- input으로 받은 것 char로 나누고 싶을 때 list()로

   (.split을 사용한다고 생각할 수 있지만 split()을 사용할 때는 구분자가 존재해야 함)

 

# if else문을 활용하다가 궁금했던 것 

파이썬은 동기였나? if 문이 2개일 때 순서대로 실행하지 않았던 것 같은데 c++과 어떤 차이가 있지?