알파벳이 하나씩 새겨진 구슬을 꿴 목걸이가 문자열 beads로 주어집니다.
공방에서는 구슬을 자유롭게 다시 배열할 수 있지만, 새 구슬을 추가할 수는 없습니다.
목걸이가 좌우 대칭(회문)이 되도록 재배열하려고 합니다. 그대로는 불가능할 수 있으므로 구슬을 몇 개 빼내야 할 수도 있습니다.
대칭 배열이 가능해지기 위해 빼내야 하는 구슬의 최소 개수를 반환하는
solution(beads)를 구현하세요. 빼지 않아도 되면 0을 반환합니다.
| beads | 반환값 | 설명 |
|---|---|---|
"banana" |
1 |
b 1개, a 3개, n 2개 — 홀수 개인 종류가 둘이라 하나를 빼야 함 |
"level" |
0 |
이미 대칭 배열이 가능 |
"kimchi" |
3 |
k·m·c·h가 각 1개 — 셋을 빼면 "ii" 사이에 한 글자를 둘 수 있음 |
"seoulseoul" |
0 |
모든 종류가 짝수 개 |
시간 복잡도 목표: O(N)
▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.