안녕하세요! 너무 감사히 잘보고 있습니다. 왕팬입니다 :D 정말정말 무지무지 도움받고 있습니다!!! 그런데 이번 편 내용을 여러번 검토해보았습니다. 테스트 Case를 "pale" 와 "pas" 이렇게 다르게 해봤더니 true (한번 편집됨)가 반환 되었습니다. (긴문자는 1자 길고, 짧은문자쪽은 마지막 글자를 다르게 한 Case) 제가 잘못한 것인지는 모르겠습니다만.. 혹시 가능하시다면 피드백 받고 싶습니다! 그래서 저는 우선 임시방편으로 j++; 위에 다음 코드를 삽입해서 false를 유도했습니다.. ------------------------- if (i == ss.length() -1) return false;
if(ss.length() != ls.length()) { j++;} 21행부터의 위 코드는 의도를 잘 모르겠습니다. 위 코드를 없애시고 For문 바깥에 아래와 같은 코드를 넣으세요. For문이 돌 때에 비교한 문자들 중 한 개만이 다르고, 동시에 입력된 두 문자열의 글자길이가 다를 경우(replace, insert 둘 다 발생)는 거짓이 되어야하므로 아래와 같은 코드를 넣어서 해결했습니다. if(flag && ss.length() != ls.length()) return false;
돌려보지는 않았지만.. 22line의 j++ 을 i-- 로 대체하면 될 듯 한데요. 강의 보면서 도움 너무 많이 받고 있습니다. 감사합니다.
flag = true 다음 줄의, 길이비교 로직 문제있습니다.
길이 비교 if 문을 글자비교 if 문 밖으로 빼고,(for문 안쪽)
j++ 대신 flag=true 로 해결했습니다.
축약하여 if (글자비교 || 길이비교) 도 가능합니다.
안녕하세요! 너무 감사히 잘보고 있습니다. 왕팬입니다 :D 정말정말 무지무지 도움받고 있습니다!!!
그런데 이번 편 내용을 여러번 검토해보았습니다.
테스트 Case를 "pale" 와 "pas" 이렇게 다르게 해봤더니 true (한번 편집됨)가 반환 되었습니다.
(긴문자는 1자 길고, 짧은문자쪽은 마지막 글자를 다르게 한 Case)
제가 잘못한 것인지는 모르겠습니다만..
혹시 가능하시다면 피드백 받고 싶습니다!
그래서 저는 우선 임시방편으로 j++; 위에 다음 코드를 삽입해서 false를 유도했습니다..
-------------------------
if (i == ss.length() -1)
return false;
if(ss.length() != ls.length()) { j++;}
21행부터의 위 코드는 의도를 잘 모르겠습니다.
위 코드를 없애시고 For문 바깥에 아래와 같은 코드를 넣으세요.
For문이 돌 때에 비교한 문자들 중 한 개만이 다르고, 동시에 입력된 두 문자열의 글자길이가 다를 경우(replace, insert 둘 다 발생)는 거짓이 되어야하므로 아래와 같은 코드를 넣어서 해결했습니다.
if(flag && ss.length() != ls.length()) return false;
그런데 JmeetsZ님이 제시해주신 케이스는 제 말대로 해결되지만 문자열 중간에 삽입이 있다든지 하는 경우는 해결 안된듯 합니다... 지금부터 좀 더 생각해보아야겠어요. 테스트 케이스를 제대로 준비해볼까 업무하듯이...
(애초에 문자를 삽입하는게 문자열 마지막에 추가하는것만 생각하는거라면 해결된거지만...)
하하 유튜버님 죄송합니다. 제가 의도를 이제야 이해했습니다.
이해력이 떨어져서...
JmeetsZ님의 수정대로 했을 경우, pael, pal 을 넣으면 참이 나와야하는데 거짓이 나오네요.