1120번 - 문자열
문제 특성상 str2의 사이즈가 str1보다 같거나 큰데 제가 실수로for문의 조건을 str1.size() - str2.size(); 했습니다. 그렇다면 i가 음수보다 같거나 작을 때 도는건데 디버깅을 해보면 반복문이 str2의 인덱스를 벗어날때까지 돌게되는데요. 처음부터 반복문 실행이 안되는게 정상적이라고 생각하는데 왜 반복문이 돌아가는지 이해가 안됩니다..
size()의 반환값은 unsigned이기 때문에, 빼는 값이 더 크면 오버플로가 됩니다.
감사합니다
댓글을 작성하려면 로그인해야 합니다.
ckdrb7067 4년 전
문제 특성상 str2의 사이즈가 str1보다 같거나 큰데 제가 실수로
for문의 조건을 str1.size() - str2.size(); 했습니다. 그렇다면 i가 음수보다 같거나 작을 때 도는건데 디버깅을 해보면 반복문이 str2의 인덱스를 벗어날때까지 돌게되는데요. 처음부터 반복문 실행이 안되는게 정상적이라고 생각하는데 왜 반복문이 돌아가는지 이해가 안됩니다..