작성
·
437
1
강의를 듣기 전에 먼저 풀어보고 어떻게 더 효율적으로 푸셨는지 볼려고 해당 로직으로 작성해서 보았습니다.
예제가 2가지였는데. 그중
"()()" 에 대한 예제를 돌리면 강사님이 알려주신 로직으로는 구현이 안됩니다.
이유는 강사님 처럼 하게 되면 없애지 않고 바로 유지해야되는 경우에 대한 방어로직이 없습니다.
해당 부분은 i 와 start가 차이가 1 밖에 안나는 경우 "()" 이것으로 보고 제외하지 않고 원문 그래도 뽑는 로직이 필요합니다.
답변 3
1
1
질문 감사합니다.
질문 주신 내용 1번 :"()()" 에 대한 예제를 돌리면 강사님이 알려주신 로직으로는 구현이 안됩니다.
=> 어떻게 안된다는 말씀이신가요?? (저는 ()()을 돌리면 빈문자열로 리턴이 오는데요....)
()()인 경우는 괄호의 바깥을 찾기 위해서 , for문을 돌리다가 charAt()으로 빼서 인덱스별 비교하고
substring으로 조작해서 빈값을 가져와야 합니다.
질문 주신 내용 2번 :해당 부분은 i 와 start가 차이가 1 밖에 안나는 경우 "()" 이것으로 보고 제외하지 않고 원문 그래도 뽑는 로직이 필요합니다.
=> 제가 잘 이해가 안되서요..혹시 다른 괄호 문제랑 혼동하신거 아니신지..
괄호문제는 상당히 많이 나오는 유형인데요. 종류가 3가지 정도 됩니다.
그래서 아래 캡쳐를 했습니다. 이문제 분석 본입니다. 참고바랍니다.
이해가 안되시는 분은 바로 질문 남겨주세요~
즐코딩하세요~
0