[백준] 15312번 이름 궁합

거북이·2023년 1월 9일
0

백준[실버5]

목록 보기
94/114
post-thumbnail

💡문제접근

각 알파벳 대문자의 획수를 딕셔너리를 이용해서 저장하고 길이가 2가 될 때까지 반복문을 돌린 후 이름 궁합의 결과를 출력한다.
이 때, 십의 자리가 0 즉, 한 자리 값의 경우 두 자리로 출력하라고 했으므로 이 부분에 대해서는 경우를 나누어 코드를 작성했다.

💡코드(메모리 : 30616KB, 시간 : 1292ms)

alphabet = {'A': 3, 'B': 2, 'C': 1, 'D': 2, 'E': 3, 'F': 3, 'G': 2, 'H': 3, 'I': 3, 'J': 2, 'K': 2, 'L': 1, 'M': 2,
            '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}
A = input()
B = input()

li = []
for i in range(len(A)):
    li.append(A[i])
    li.append(B[i])

result = []
for i in range(1, len(li)):
    result.append((alphabet[li[i]] + alphabet[li[i - 1]]) % 10)

temp = []
while True:
    if len(result) == 2:
        break
    for i in range(1, len(result)):
        temp.append((result[i] + result[i - 1]) % 10)
    result = temp
    temp = []

score = ""
for i in result:
    score += str(i)

value = ""
if score[0] == "0":
    value = score[0] + score[1]
    print(value)
else:
    print(int(score))

💡소요시간 : 15m

0개의 댓글