CodeCata - 2

이동근·2021년 2월 9일
0

코드카타

목록 보기
2/5

code_cata

문제!

  • S는 여러 괄호들로 이루어진 String 인자 입니다. S가 유효한 표현인지 아닌지 True/False로 반환해 주세요.
  • 종류는 "(", ")", "{", "}", "[", "]" 입니다.

s = "()"
return true

s = "()[]{}"
return true

s = "(]"
return false

s = "([)]"
return false

s = "{[]}"
return true

아예 구현을 하는데 있어서 방향성을 잡지를 못했다.

Model solution

  1. 먼저 left와 right로 각각 리스트로 정의해주고 빈 리스트인 stack을 선언해 준다.
  2. for루프로 임의의 변수 letter가 string의 숫자만큼 반복문을 돌린다.
  3. 만약 그 반복에서 letter가 left리스트 중 한개 이면 비어 있는 stack에 추가해준다.
  4. 또 letter가 right에 있는 요소일때 stack의 수가 0보다 작거나 같으면 False값을 추출해 준다.
  5. 만약 left.index(stack.pop())즉 stack에서 pop으로 뽑아낸 마지막 요소의 인덱스와 값과, right.index(letter)의 값이 같지 않다면 False를 return
  6. stack에 값이 남아 있지 않으면 함수는 종료된다.
profile
하루하루 1cm 자라는 개발자

0개의 댓글

관련 채용 정보