다오 선생님은 학생 두 명이 한 조를 이루게 한 후, 조별 과제를 주는데 같은 조 학생들이 자주 싸우는 것을 목격했다. 어떻게 하면 학생들이 덜 싸우고 행복한 분위기에서 조별 과제를 진행할 수 있을까 고민했고, MBTI 궁합이 잘 맞는 학생들 사이에는 싸움이 적게 일어나는 것을 확인했다.
그래서 다오 선생님은 MBTI를 활용하여 조를 짜기로 계획하였다.
MBTI는 다음과 같은 가지 분류 기준에 따른 결과에 의해 학생들을 가지 심리 유형 중의 하나로 분류한다.
E
)-내향(I
)S
)-직관(N
)T
)-감정(F
)J
)-인식(P
)각 학생의 성향은 네 가지 분류 기준 각각에서 하나의 지표를 나타내는 문자의 조합
즉, 길이가 인 문자열로 표현되며,
각 분류 기준의 순서를 따라 해당 지표를 나타내는 문자로 표현된다.
예를 들어, ENFP
, INTJ
, ESFP
형식으로 표현한다. 하지만,
분류 기준의 순서가 섞인 NIPF
같은 문자열은 사용하지 않는다.
각 분류 기준에 대해 반대되는 성향을 가진 학생들이 같은 조에 있으면 싸움이 일어날 확률이 높기 때문에 다오 선생님은 최대한 비슷한 성향을 가진 학생들끼리 조를 구성하려고 한다.
가지 분류 기준 각각에 대해 성향 차이를 나타내는 정수가 주어진다.
즉, 이상 이하인 에 대해 번째 분류 기준에서 성향 차이를 나타내는 가
주어진다. 예를 들어, 은 외향(E
)과 내향(I
)의 성향 차이, 는
감각(S
)과 직관(N
)의 성향 차이를 나타낸다.
한 조가 된 두 학생의 MBTI 분류 기준이 모두 일치하면 두 학생의 성향 차이 점수는 이 되지만, 그렇지 않은 경우 서로 일치되지 않은 분류 기준에 대해서 분류 기준의 성향 차이의 합이 그 조의 성향 차이 점수가 된다.
명의 학생으로 구성된 개 조의 성향 차이 점수 합이 최소가 되도록 조를 만드는 프로그램을 작성하시오.
첫 줄에 테스트 케이스의 수를 나타내는 정수 가 주어진다. ()
각 테스트 케이스의 첫 줄엔 학생들의 수를 나타내는 정수 과 가지 MBTI 분류 기준 각각에 대한 성향 차이 가 주어진다. ( 은 짝수)
두 번째 줄에는 각 학생의 MBTI를 나타내는 길이 인 문자열이 개 주어진다. 주어지는 문자열에서 모든 문자는 알파벳 대문자이다.
각 테스트 케이스에 대해, 모든 조의 성향 차이 점수 합의 최솟값을 나타내는 정수를 각 줄에 출력한다.
2 2 4 3 2 1 INFP ESFJ 4 1 2 3 4 ISFP ENTJ ENFJ INFP
8 5
입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.
종류 1: 19점
종류 2: 28점
가중치 가 모두
종류 3: 53점
추가적인 제한 조건이 없음.