줄세우기 알고리즘 해결방법은 다음과 같다.
줄을 세울때 맨 앞과 맨뒤로만 보낼수 있기 때문에,
순서대로 읽어 가면서 정렬이 되어 있는 상태의 숫자는 옮기지 않아도 된다.
정렬이 되어 있지 않은 데이터중 1은 맨앞으로 옮기고,
나머지는 순서대로 맨뒤로 옮기면 자동으로 정렬이 되게 된다.
5, 2, 4, 1, 3
의 경우 2, 3은 순서대로 정렬이 되기 때문에 이를 제외한 나머지 값을 옮기게 되므로 5-2 = 3으로 3번 움직여야 한다.
5, 2, 3, 4, 7, 1, 6
의 경우 2, 3, 4는 순서대로 정렬 되기 때문에 이를 제외한 나머지 값을 옮기게 되므로 7-3 = 4로 4번 움직여야 한다.
이를 처리하는 코드는 다음과 같다.
반응형
'알고리즘 > 더블릿' 카테고리의 다른 글
[더블릿] Koi_Budget (0) | 2016.07.05 |
---|---|
[더블릿] Koi_Delivery 배송 문제 (0) | 2016.07.04 |
[더블릿] Koi_Bal 저울 문제 (2) | 2016.07.02 |
[더블릿] 자리 배정 알고리즘(Koi_Seat) (0) | 2016.06.28 |