반응형
https://www.acmicpc.net/problem/1339
풀이
첫번째 시도
문자를 리스트에 담아서 긴 문자부터 9876... 내림차순으로 넣어줬는데
다른 문자에서 공통 되는 알파벳이 나오면 우선순위를 따져줬어야했는데 그러지 못함..
두번째 시도
GCF
ACDEB
A=10000 *9
C=1010 *8
D=100 *7
G=100*6
E=10*5
B=1*4
자릿수를 계산하여 먼저 더해준 뒤 그 다음 내림차순으로 대입
# 단어 수학
# 흠 딕셔너리랑 리스트를 이용해서 쓰는건 눈치챘는데
# 단어별 자릿수로 abcde 면 a를 10000 b를 1000 하고 높은 숫자부터 9,8,7... 곱해서 더해주면 됨
import sys
input=sys.stdin.readline
n=int(input())
word_lst=[input().rstrip() for _ in range(n)]
ans=0
dic={}
for words in word_lst:
cnt=len(words)
for word in words:
if word not in dic:
dic[word]=(10**(cnt-1))
else:
dic[word]+=(10**(cnt-1))
cnt-=1
# 딕셔너리 자릿수 값 뽑고 정렬
values_lst=list(dic.values())
values_lst.sort()
values_lst.reverse()
num=9
for i in values_lst:
ans+=i*num
num-=1
print(ans)
5월 카카오 코테 이후로 애플워치, 싸피 신청, sqld 공부하느라
알고리즘 공부에 소홀했다...
간만에 풀었는데 메소드도 기억안나서 당황...!!
다시 열심히 해야게따
반응형
'알고리즘 > 문제 풀이' 카테고리의 다른 글
[Python/파이썬 프로그래머스] 실패율 (0) | 2021.06.29 |
---|---|
[파이썬/Python 프로그래머스] 체육복 (0) | 2021.06.28 |
[Python/파이썬 1107 백준] 리모컨 (0) | 2021.05.20 |
[Python/파이썬 프로그래머스] 광고 삽입 (0) | 2021.05.19 |
[Python/파이썬 프로그래머스] 메뉴 리뉴얼 (0) | 2021.05.10 |