14226번 - 이모티콘
제 코드중 func 함수안에 1빼는 부분에서
if (n > 1 && (arr[n - 1] == 0 || arr[n - 1] > cnt + 1)) 이 코드를
if (n > 1) 이렇게 바꾸면 아예 출력이 안되더라구요 왜그런걸까요 ??
if (arr[n] > cnt || arr[n] == 0) arr[n] = cnt;
바로위 쪽에 이 코드에서 예외를 다 잡아주지 못하는 건가요 ? ?
cnt값이 갱신되지 않을 경우 해당 상태에서 더 진행할 필요가 없기에 return해주어야 합니다.
그렇지 않을 경우 무한 재귀를 돌아버려요
ex) n : 1 -> n : 2 -> n -> 1 .......
감사합니다 ㅎㅎ
댓글을 작성하려면 로그인해야 합니다.
pch1623 3년 전
제 코드중 func 함수안에 1빼는 부분에서
if (n > 1 && (arr[n - 1] == 0 || arr[n - 1] > cnt + 1)) 이 코드를
if (n > 1) 이렇게 바꾸면 아예 출력이 안되더라구요 왜그런걸까요 ??
if (arr[n] > cnt || arr[n] == 0)
arr[n] = cnt;
바로위 쪽에 이 코드에서 예외를 다 잡아주지 못하는 건가요 ? ?