문제1696--정렬해줘

1696: 정렬해줘

[만든사람 : ]
시간제한 : 1.000 sec  메모리제한 : 128 MiB

문제 설명

정렬은 전산 분야에서 중요한 분야 중 하나이다. 3개의 값만을 가지는 리스트를 정렬하는 문제를 한번 생각해보자. 리스트에 존재할 수 있는 값이 1, 2, 3 3개이고 임의의 두 개의 숫자를 골라서 위치를 바꿀 수 있다. 이러한 리스트를 1, 1, ... 2, 2, ... 3, 3, ... 같은 순서로 정렬을 하고자 한다. 리스트가 주어졌을 때 최소한의 위치 바꿈 횟수가 몇인가를 알 수 있는 프로그램을 작성하자.

입력 설명

입력은 첫 번째 줄에 리스트에 존재하는 값의 개수 N(N≤1,000)이 주어진다. 그 다음 줄에 N개에는 1 이상 3 이하의 숫자가 입력된다.

출력 설명

위에 주어진 조건대로 정렬을 하기위해서 필요한 최소한의 위치 바꿈 횟수를 출력한다.

입력 예시 Copy

9
2 2 1 3 3 3 2 3 1

출력 예시 Copy

4

출처/분류