최소 교환 횟수
면접 대비시간 제한1초메모리 제한128 MB
서로 다른 소문자로 이루어진 문자열마다 임의의 두 문자를 교환하는 연산으로 알파벳 순서로 정렬하는 최소 교환 횟수를 구한다.
문제
수열을 오름차순으로 정렬하는 것은 실생활에서 흔히 마주치는 작업입니다. 정렬 알고리즘에서 자주 쓰이는 연산 중 하나는 두 원소의 위치를 서로 맞바꾸는 것(swap)입니다.
서로 다른 소문자 알파벳으로 이루어진 문자열이 주어질 때, 이 문자열을 오름차순(사전순)으로 정렬하기 위해 필요한 최소 교환 횟수를 구하세요. 한 번의 교환은 문자열에서 임의의 두 문자의 위치를 서로 바꾸는 연산이며, 각 문자는 최대 한 번만 등장합니다.
입력
입력은 여러 개의 테스트 케이스로 이루어지며, 각 줄에 하나씩 주어집니다. 각 줄에는 서로 다른 소문자 알파벳으로 이루어진 문자열 가 주어집니다 (). 한 줄 안에서 같은 문자가 반복되지 않습니다. 입력은 파일의 끝(EOF)에서 종료됩니다.
출력
각 입력 줄마다, 해당 문자열을 오름차순으로 정렬하기 위해 필요한 최소 교환 횟수를 한 줄에 하나씩 출력합니다.