https://www.acmicpc.net/problem/1339
>>문제포인트
- 각 알파벳이 몇번 등장했는지 진수로 판단해야 하는 문제
---예를 들어 AAA라면-> A는 111(100+10+1)번 나왔음
- 많이 나온 횟수의 알파벳부터 9부터 차례로 곱해 result 출력
>>코드
n= int(input())
dict ={}
#출현 횟수를 십진수로 저장
for i in range(n):
word= input()
word_len= len(word)
for idx, j in enumerate(word):
if j in dict.keys():
dict[j]+=pow(10,word_len-1-idx)
else:
dict[j]=0
dict[j]+=pow(10,word_len-1-idx)
#value값으로 내림차순(많이 나온 알파벳부터)
word_sort = sorted(dict.items(), reverse=True, key= lambda x: x[1])
'''
2
GCF
ACDEB
word_sort 예시
[('A', 10000), ('C', 1010), ('G', 100), ('D', 100), ('E', 10), ('F', 1), ('B', 1)]'''
result=0
top=9
for i in word_sort:
result+=top*i[1]
top-=1
print(result)
'백준 문풀' 카테고리의 다른 글
[Python] 그리디- 1744. 수 묶기(골4) (0) | 2023.08.05 |
---|---|
[Python] 그리디 - 1343.폴리오미노(실5) (0) | 2023.08.04 |
[Python] 위상정렬 - 14676. 영우는 사기꾼?(골3) (0) | 2023.08.03 |
[Python] 그리디- 1946. 신입사원 (0) | 2023.08.02 |
[Python] 그리디- 1715. 카드 정렬하기(골4) (0) | 2023.08.02 |