leechhe   11달 전

n==1 일 때는 연산이 불가능하니까 -1,

n == 2 일 때엔 뒷 자리 수가 0여도 연산이 불가하므로 -1.

나머지는 

i 뒤에 최대값을 찾아 그 값이 number[i] 보다 크면 바꾸고 아니면 찾을 때까지 반복

만약 i가 length-2에 도달할 때까지 못찾았다면(!process) 그냥 맨 뒤에 숫자 2개를 계속 바꿔줍니다.

안 어려워 보이는 문젠데 정답률이 낮은 이유가 케이스 찾기 힘든 거 때문인거 같은데.. 알려주시면 감사하겠습니다

game2k   11달 전

만약 못찾았을 때 맨뒤 숫자 2개 바꾸지 말고 서로 다른 자리에 같은 값이 있었으면  그 값 끼리 바꾸도록 해보세요

위 소스는

135745 5  일때 755431 이 나오고

135745 6 일때도  755431 이 나와야 하는데 755413이 나오네요

leechhe   11달 전

game2k 감사합니다 :)

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