ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
1339๋ฒ: ๋จ์ด ์ํ
์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์ N(1 โค N โค 10)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๋จ์ด๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ๋จ์ด๋ ์ํ๋ฒณ ๋๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ์๋ค. ๋ชจ๋ ๋จ์ด์ ํฌํจ๋์ด ์๋ ์ํ๋ฒณ์ ์ต๋
www.acmicpc.net
๋ฌธ์ ํ์ด
๊ฐ ์ํ๋ฒณ์ด ์ฃผ์ด์ง ๋, ์ด๋ ์๋ฆฌ์ ์์นํ๋๋์ ๋ฐ๋ผ 0์์ 9์ ์ซ์๋ก ๋ณํํ์ฌ ํฉ์ ๊ณ์ฐํ์ฌ์ผ ํ๋ค. ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์ ์๋ฆฟ์๊ฐ ๊ฐ์ฅ ํฐ ์ํ๋ฒณ๋ถํฐ 9๋ถํฐ 0๊น์ง ์ซ์๋ฅผ ๋ณํํ๋ฉด ๋๋ค. ์๋ฅผ ๋ค์ด ์์ ์
๋ ฅ 2์ ๊ฒฝ์ฐ {'A': 10000, 'C': 1010, 'G': 100, 'D': 100, 'E': 10, 'F': 1, 'B': 1}
์ ๊ฐ์ด A, C, G, D, E, F, B ์์ผ๋ก 9์์ 3๊น์ง์ ์ซ์๋ก ๋ณํํ๋ค. ๊ทธ๋ฌ๋ฉด, GCF + ACDEB๋ 784 + 98653๋ผ๋ ๊ฒ์ ์ ์ ์๋ค.
๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๋ก์ง์ ๋ฐ๋ฅด๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค.
- defaultdict๋ฅผ ํ์ฉํ์ฌ ๊ฐ ์ํ๋ฒณ์ ์๋ฆฟ์๋ฅผ ๊ณ์ฐํ๋ค.
- ์๋ฆฟ์๊ฐ ๊ฐ์ฅ ํฐ ์ํ๋ฒณ๋ถํฐ ์ ๋ ฌํ์ฌ, 9๋ถํฐ ์ซ์๋ฅผ ํ ๋นํ์ฌ ๊ณ์ฐํ๋ค.
์ฝ๋
from sys import stdin
from collections import defaultdict
if __name__ == '__main__':
answer = 0
n = int(stdin.readline())
alphabet = defaultdict(int)
change = [num for num in range(10)][::-1]
for _ in range(n):
word = stdin.readline().strip()
length = len(word)
for idx, w in enumerate(word):
alphabet[w] += 10 ** (length - idx - 1)
alphabet = dict(sorted(alphabet.items(), key=lambda x: x[1], reverse=True))
print(alphabet)
for c, cnt in zip(change, alphabet.values()):
answer += c * cnt
print(answer)
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 2251 ๋ฌผํต (0) | 2020.08.21 |
---|---|
๋ฐฑ์ค: 12886 ๋ ๊ทธ๋ฃน (0) | 2020.08.21 |
๋ฐฑ์ค: 1107 ๋ฆฌ๋ชจ์ปจ (0) | 2020.08.19 |
๋ฐฑ์ค: 1062 ๊ฐ๋ฅด์นจ (0) | 2020.08.18 |
๋ฐฑ์ค: 7453 ํฉ์ด 0์ธ ๋ค ์ ์ (0) | 2020.08.17 |