hagentexx   1년 전

맨 처음 문제를 풀 때 스택을 사용할 생각을 못해서 스택 없이 그냥 풀게 되었습니다!

제가 생각한 작동 방식은  string에 문장을 입력받고 하나씩 문자를 검사하다 ( 나 [ 를  찾으면 char now에 그대로 넣었습니다!(최근 열린 괄호 저장)

그 후 마저 탐색하다 ) 나 ] 를 발견하게 되면 now에 저장된 문자와 비교하여 판단하는 것으로 했습니다!

{ ')' 가 발견되었을 때, now에 저장된 게 '(' 이면 두 괄호를 '0'으로 바꾸고 다시 문자열 처음부터 재 탐색! 아닐 시 no 출력 후 다음 문장 입력받기}

{ '0'으로 바꾸는 이유는 재탐색 할 때  다시 걸리지 않도록 그냥 아무 임의의 값으로 변경한 것입니다!  }

문제 예제와 제가 본 게시판의 반례들은 전부 통과했습니다! 허나 저도 20퍼 에서 틀리는 데, 동일하게 20퍼에서 틀리신 다른분들은 스택을 사용해서 푸셨다보니 대부분은 스택 관련 문제였는데, 저는 스택을 사용하지 않았다보니 뭐가 틀린 것인지 감이 오지 않습니다!

반례라도 적어주시면 제가 혼자서 고쳐보겠습니다! 감사합니다!

hych0502   1년 전

반례 드립니다.

입력:
())(
.
출력:
yes
정답:
no

입력:
[]][
.
출력:
yes
정답:
no

hagentexx   1년 전

아!! now를 냅둬서 문제가 있었던 거군요!! 왜 이생각을 못했지!!

정말 감사합니다!!

hagentexx   1년 전

바로 통과했습니다 정말 감사합니다!!!!!!!!!!

댓글을 작성하려면 로그인해야 합니다.