https://www.acmicpc.net/problem/27919
막연히 U, D, P 갯수만 세면 되겠다 싶었는데 생각해보니
U와 C의 문자 갯수를 더한 값이
P와 D를 더한 갯수의 절반보다 많으면 무조건 U는 최대 득표로 선정되는 걸 발견할 수 있었다.
D나 P의 최대 득표 경우는 더 쉬운데,
문자열중에 D나 P가 있으면 무조건 최대 득표로 선정될 수 있다.
왜냐하면 모든 U를 C로 간주하면 D나 P가 있기만 해도 최대 득표의 경우가 되기 때문이다.
따라서 코드 솔루션은 아래와 같다.
words = input()
uc_cnt = words.count('U')+words.count('C')
dp_cnt = words.count('D')+words.count('P')
if uc_cnt > (dp_cnt)//2 + (dp_cnt)%2:
print('U', end = '')
if dp_cnt:
print('DP', end = '')