시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 128 MB | 177 | 45 | 41 | 33.607% |
0부터 9까지의 숫자가 각각 적힌 열 개의 공과, 0부터 9까지의 숫자 중 하나가 적힌 여러 장의 카드들이 있다. 그리고 각각 공 하나씩을 담을 수 있는 상자 네 개가 있다. 같은 숫자의 카드는 여러 장 있을 수 있지만, 공은 하나씩이다.
카드를 한 장씩 뽑아서 그에 해당하는 공을 상자 중 하나에 넣어야 하며, 다음과 같은 규칙을 따른다.
임의 개수의 카드를 뽑았을 때, 삽입․교환 연산을 최소한으로 하여 순서대로 작업을 처리하는 프로그램을 작성하여 보자.
첫 줄에 뽑은 카드의 장수 n이 주어진다. (0 ≤ n ≤ 100) n이 0보다 크면 둘째 줄에 n개의 숫자가 주어지는데, 뽑힌 카드에 적힌 숫자를 순서대로 나타낸다.
첫 줄에 필요한 최소한의 연산 수를 출력한다.
9 1 2 3 4 5 1 1 3 4
5
9 1 2 0 4 5 6 4 1 2
6