CODE KATA8

On a regular basis·2021년 5월 6일
0
post-thumbnail

문제

  • s는 여러 괄호들로 이루어진 String 인자입니다. s가 유효한 표현인지 아닌지 true/false로 반환해주세요.
    종류는 '(', ')', '[', ']', '{', '}' 으로 총 6개 있습니다. 아래의 경우 유효합니다.
    한 번 괄호를 시작했으면, 같은 괄호로 끝내야 한다. 괄호 순서가 맞아야 한다.
  • 예를 들어 아래와 같습니다.
    s = "()"
    return true
    s = "()[]{}"
    return true
    s = "(]"
    return false
    s = "([)]"
    return false
    s = "{[]}"
    return true
def is_valid(string):
  a1 = ['(','{','[']
  a2 = [')','}',']']
  temp =[]
  if len(string) <= 1:
    return False
  for i in string:
    if i in a1:
      temp.append(i)
    elif i in a2:
      if len(temp) < 1:
        return False
	elif a1.index(temp.pop()) != a2.index(i):
        return False 
	return True
    #a1의 인덱스와 a2의 인덱스를 서로 비교해주면서 문제를 풀어나가는 형식.
    #먼저, 배열이 2이상이어야 하니까 초기값으로 지정해준다.
    #a1과 a2에서 하나씩 꺼내 temp에 넣어준다. a1에서 가져온 값의 인덱스와 a2에서 가져온 값의 인덱스가 다르면 False가 나오고 그렇지 않다면 괄호의 순서가 맞게 되는 것이니까 True로 출력해주는 것이다.
profile
개발 기록

0개의 댓글