티스토리 뷰
import sys
sys.stdin=open("input.txt", "r")
lenA, lenB = map(int, input().split())
A, B = map(str, input().split())
times = {
'A' : 3, 'B' : 2, 'C' : 1, 'D' : 2, 'E' : 4, 'F' : 3, 'G' : 1, 'H' : 3, 'I' : 1,
'J' : 1, 'K' : 3, 'L' : 1, 'M' : 3, 'N' : 2, 'O' : 1, 'P' : 2, 'Q' : 2, 'R' : 2,
'S' : 1, 'T' : 2, 'U' : 1, 'V' : 1, 'W' : 1, 'X' : 2, 'Y' : 2, 'Z' : 1
}
nameList = []
numList = []
if lenA < lenB: # 더 긴 이름을 뒤에 붙인다.
for lA, lB in zip(A, B[0:lenA+1]):
nameList += [lA, lB]
numList += [times[lA], times[lB]] # 알파벳의 획수 또한 리스트에 추가한다.
nameList += B[lenA:]
for L in B[lenA:]: #
numList.append(times[L])
else:
for lA, lB in zip(A[0:lenB+1], B):
nameList += [lA, lB]
numList += [times[lA], times[lB]]
nameList += A[lenB:]
for L in A[lenB:]:
numList.append(times[L])
flag = False
res = numList
while True:
# 궁합 확률은 보통 두 자리 수지만, 세자리 (100)이거나 한자리 sum(res) == 0 인 경우도 고려한다.
# 01%는 len(res) == 2에서 발견된다.
if len(res) == 2 or res == [1, 0, 0] or sum(res)==0:
break
res = []
for i in range(len(numList)-1):
res.append((numList[i] + numList[i+1]) % 10)
numList = res
ans =''
for r in res:
ans += str(r)
ans = int(ans) # 01 -> 00으로 표기한다.
print('{}%'.format(ans))
'코딩테스트 > 백준' 카테고리의 다른 글
[백준] 9037: The candy war (0) | 2020.11.15 |
---|---|
[백준] 17224: APC는 왜 서브태스크 대회가 되었을까? (0) | 2020.11.15 |
[백준] 16165번: 걸그룹 마스터 준석이 (0) | 2020.11.15 |
[백준] 1920번: 수 찾기 (0) | 2020.11.15 |
[백준] 17389: 보너스 점수 (0) | 2020.11.15 |
댓글