algo_begin   4년 전

1406번 에디터 문제 질문입니다. 제가 작성한 코드로 제출하니 틀렸다고 결과가 나왔습니다.


그래서 이것저것 찾아보다가 http://gooddaytocode.blogspot.... 이 사이트에서 테스트 케이스 파일을 받아서 확인하던 중

대부분의 테스트 케이스가 정상적으로 작동하고 출력 결과도 같은 것을 확인했습니다. 그런데 문제는 테스트 케이스 #3에서

StringBuilder의 deleteCharAt() 함수에서 StringIndexOutOfBoundsException이 발생하는 것을 확인했습니다.

도저히 문제 해결 방법을 찾지 못해서 이렇게 질문을 올립니다. 많은 고수님들의 답변 기다리겠습니다. 감사합니다.

chogahui05   4년 전

일단 아래 TC에서도 IndexOutOfBoundException이 뜨네요.

하나 궁금한 건 case 'L'하고 case 'D'일 때 input의 length만 가지고 따지는데요.

String input의 length는 삭제나 삽입 명령이 들어올 때

그 값이 변경된다는 것을 보장할 수 있나요?

더 정확히 말하면. 처음에 문자열의 길이는 len이였습니다.

문자열이 삭제되고 빈 문자열일 때

D를 눌렀습니다. 그럴 때, cursor가 0이 된다는 것을 보장할 수 있나요?


제가 코드를 쭉 봤을 때에는

문자열이 변경이 되었다는 것과 관계 없이, 처음에 들어온 input의 길이에 의해서만

cursor가 증가되고, 감소되고 그러는 거 같은데

그렇게 된다면 IOBE가 뜨지 않을까요?

algo_begin   4년 전

chogahui05님 덕분에 문제를 해결할 수 있었습니다~! 성실한 답변에 감사드립니다~~^^ 감사합니다!!

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