salted   8년 전

이것저것 테스트 케이스를 바꿔봐도 계속 런타임 에러를 벗어나지 못하네요 ....

인덱스 참조 오류도 아닌 것 같고, 채점이 50퍼까지 돌다가 런타임 에러가 뜨는데 이유가 무엇인지 도저히 감이 오지 않아요 ㅠㅠ

우선 제 코드 설명을 드리자면

1번-입력받은정수를 한자릿수마다 나누어 int 배열에 삽입하여 초기화 합니다.

2번 '다음 수' 는 입력받은 수의  각 자릿수 숫자들의 갯수를 바꾸지 않고 재 조합한 수들 중 입력받은 수 보다는 크지만, 재 조합한 수들 중에선 가장 작은 수를 의미한다고 합니다.

그래서 저는 맨 뒤 -1 부터 앞으로 오면서(j)

j 번째의 수보다 큰 숫자가  j 바로 뒤에 존재하는지 루프를 돌립니다.

만약 존재한다면 s에 j 를 저장하구요,

j 번째 뒤의 숫자들 중 j 보다 크지만 가장 작은 수의 인덱스를 a에 저장합니다.


3번. 인덱스 s와 a의 값을 서로 교환한 다음, s+1번째부터 끝까지 sort를 이용해서 작은 숫자부터 앞으로 오게 정렬합니다.

그리곤 이 배열을 루프를 사용하여 한자리씩 출력합니다.


'다음수'를 찾는 알고리즘은 맞는 것 같은데... 왜 ......런타임 에러가 뜨는지 감을 잡을 수 없네요ㅠㅠ

출력은 제대로 나오는데...

제 코드 설명한걸 보니 저도 참 난해하네요....ㅠㅠ

능력자분들 도와주세요!!


salted   8년 전

"BIGGEST" 를 출력하는 조건문에는 break가 아닌 continue가 들어가야겠네용

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