본문 바로가기
카테고리 없음

[백준/BOJ] 27919 UDPC 파티 (파이썬 Python)

by 제이리즘 2024. 11. 19.

 

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 = '')