hananakajima   8년 전

전에도 한번 올린적있는데, 테스트 케이스를 만들어봐도 다 통과되는데 어떨때 오류가 뜨는지 잘 모르겠네요.

푼 방법은, 우선 정렬되어서 제자리 있는 짐들은 다 제거한뒤에, 정렬된 수열과 정렬 안된 수열을 비교해서, 최소한도로 정렬하려면, 중복되지 않게 정리해야되므로, 정렬사이클을 구한뒤, 각 사이클에서 제일 작은 숫자를 사이클 갯수만큼 더하는 방법 (예 : 3-1-2 순으로 있다면, (1-3,3-2),(1-2,2-3),(1-3,1-2)등 교환 방법이 가능한데 1을 2번써서 교환하는게 제일 작게됨) 으로 구했습니다.

kesakiyo   8년 전

코드는 안보고 솔루션만 봤는데

꼭 싸이클 내에 있는 수가지고만 정렬을 하는 경우가 최선인 것은 아니에요.

만약에 싸이클 내부의 수가 100 101 102 103 이런데

싸이클에 포함이 안되는 짐의 무게가 1이라면

1인 짐을 가지고 정렬을 시키는게 훨씬 이득이겠죠?

hananakajima   8년 전

헐.....생각을 못했네요 감사합니다 ㅜㅜ

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