일단 이 문제는 내 스스로 풀지 못했다.
오늘 임계점에 도달했는지 머리가 돌아가기를 거부한 듯 하다.
지금 안하면 영원히 안하게 될거같아서 어쩔수없이 구글찬스를 썻다..ㅎㅎ
단어수학이라는 문제인데
대문자의 영어알파벳 단어를 입력받고
각 알파벳의 자리수만큼 10의 승수만큼 곱해주어 단어들의 수를 정하고
그 합계의 최대값을 구하는 문제이다
아래의 링크에 들어가보면 문제에 대한 설명이 잘 나와있다.
https://jokerldg.github.io/algorithm/2021/03/13/word-math.html
코드
# 1339 단어 수학 - 그리디
n = int(input())
word_list = []
for _ in range(n):
word_list.append(input())
word_dict = {}
for word in word_list:
power = len(word)-1
for i in word:
if i in word_dict:
word_dict[i] += pow(10,power)
else:
word_dict[i] = pow(10,power)
power -= 1
word_dict = sorted(word_dict.values(),reverse=True)
res = 0
m = 9
for value in word_dict:
res += value * m
m -= 1
print(res)
이걸 풀다보면 실력이 늘까 라는 생각이 든다
의심하지 말자!
믿으면 된다!
728x90
'알고리즘 문제풀이 > Greedy' 카테고리의 다른 글
백준 1026 파이썬(그리디) (0) | 2021.12.10 |
---|---|
백준 2720 파이썬(그리디) (0) | 2021.10.02 |
백준 1789 파이썬(그리디) (0) | 2021.10.02 |
백준13305 파이썬(그리디) (0) | 2021.09.22 |
백준 1541 파이썬(그리디) (0) | 2021.09.22 |