#9012 괄호

princess·2021년 1월 9일
0

알고리즘

목록 보기
3/21

문제 → 스택을 이용하여 괄호가 짝이 맞게 잘 입력이 되어있는지 확인하는 문제

<방법>

1 스택을 사용하는 방법

  • '(' 만 스택에 넣는 방법으로 구현
  • 스택의 성질을 이용하여 스택에서 빠져나온 '('와 입력 받은 문자열 중 가장 왼쪽에 위치하는 ')'이 짝일 것으로 간주를 함.
  • 모든 연산이 끝난 후 스택이 비어있지 않거나, 문자열의 ')'개수가 남아있을 경우 그것은 False로 간주함

문제점: 지금 내가 생각하는 방법은 결국, '('와 ')'의 개수를 비교하여 같으면 YES를 반환하는 경우임 이럴 경우에는 ')('의 경우에 YES를 반환하게 됨

2 스택을 사용하는 방법

  • '(' 만 스택에 넣는 방법으로 구현
  • 넣고 바로 ')'를 만난다면 pop으로 스택 안의 ')'제거
  • 만약에 ')'를 만났을 때, 스택이 비어있다면 짝이 맞지 않는 것이므로 NO를 출력할 수 있음 (1번에서 고민하였던 문제를 이렇게 해결)

1번에서 코딩한 방법은 '('와 ')'를 구분하는 for문을 따로 작성하였음.

profile
성장하는 머신러닝 엔지니어

0개의 댓글