반응형
https://www.acmicpc.net/problem/15312
t = [3, 2, 1, 2, 3, 3, 2, 3, 3, 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1]
a = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
tt = []
ans = []
h = input()
s = input()
for i in range(len(h)):
tt.append(t[a.index(h[i])])
tt.append(t[a.index(s[i])])
while 1:
ans=[]
for i in range(len(tt)-1):
ans.append((tt[i]+tt[i+1])%10)
tt = ans
if len(ans) == 2:
break
print(str(ans[0])+str((ans[1])))
저는 그냥 알파벳 리스트를 만들었는데요. 생각해보니까 string 모듈에서 알파벳 리스트를 가져올 수 있습니다. 굳이 A~Z까지 직접 만들지 않아도 돼요. 그 외에는 전에 풀었던 것과 동일합니다.
문제 접근은 h와 s를 각각 한글자씩 획수를 빈 리스트에 넣고 두 개씩 더하면서 다른 빈 리스트에 저장하는 걸 반복하다가 원소가 2개가 되면 반복문을 멈추면 됩니다. 사실 문제에서 시키는대로 하면 되는 문제여서 굳이 풀이를 길게 작성하지 않으려 했는데 생각보다 해당 문제에서 어려움을 겪는 분들이 있으신 것 같아서 내용을 조금 추가해봅니다. 또한 마지막 출력문은 굳이 저렇게 하지 않고 join으로 해결해도 무방합니다.
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ][Python]24416번 풀이 (0) | 2022.05.25 |
---|---|
[BOJ][Python]1388번 풀이 (0) | 2022.05.24 |
[BOJ][Python]16173번 풀이 (0) | 2022.05.23 |
[BOJ][Python]17202번 풀이 (0) | 2022.05.23 |