알고리즘
[백준, 파이썬, 1296번] 팀 이름 정하기
hminor
2024. 1. 2. 12:31
반응형
풀이
- 처음 해당 문제를 해결하고자 했을 때는
- 딕셔너리를 사용해서 해결하고자 했지만 수치 변경 이외엔 너무 불편하여
- 배열을 사용하여 해결하고자 했으며
- 각 팀 이름에 대한 비율을 새로 계산해야 했기에
- deepcopy를 사용하여 해결.
import sys
import copy
input = sys.stdin.readline
def find(name, dic):
for i in name:
if i == 'L': dic[0]+=1
elif i == 'O': dic[1]+=1
elif i == 'V': dic[2] += 1
elif i == 'E': dic[3] += 1
return
yeon = input().rstrip('\n')
dic = [0, 0, 0, 0]
find(yeon,dic)
n = int(input())
name_li = sorted([input().rstrip('\n') for _ in range(n)])
result,idx = 0,0
for x in range(n):
new_dic = copy.deepcopy(dic)
find(name_li[x],new_dic)
gob = 1
for i in range(3):
for j in range(i+1,4):
gob *= (new_dic[i]+new_dic[j])
if gob%100 > result:
result = gob%100
idx = x
print(name_li[idx])