알고리즘/백준알고리즘
[백준 알고리즘/Python3] 5622 다이얼
wonin
2021. 8. 30. 10:59
문제
문제 이해
다이얼을 자세히 보면
2는 ABC
3은 DEF
...
9는 WXYZ
로 되어있습니다.
1과 0 은 고려 안하는거 같습니다.
다이얼의 숫자에 걸리는 시간은 숫자 + 1 입니다.
ABC, DEF... WXYZ 까지 모두 리스트로 해서 각 경우가 나올 때마다 나오는 시간을 더하는 방법이 있습니다.
코드
import string
alphabet = string.ascii_uppercase
count = 0
word = input().upper()
for i in word:
if(i in alphabet[:3]):
count += 3
elif(i in alphabet[3:6]):
count += 4
elif(i in alphabet[6:9]):
count += 5
elif(i in alphabet[9:12]):
count += 6
elif(i in alphabet[12:15]):
count += 7
elif(i in alphabet[15:19]):
count += 8
elif(i in alphabet[19:22]):
count += 9
elif(i in alphabet[22:26]):
count += 10
print(count)
각 경우를 string으로 잘라서 만들어 봣습니다.
다른 사람의 코드를 보았습니다.
dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
a = input()
total = 0
for j in range(len(a)):
for i in dial:
if a[j] in i:
total += dial.index(i)+3
print(total)
리스트 형태로 만들서 입력값과 리스트에 있는 값이 맞으면
리스트의 인덱스를 찾아서 +3을 해주면 됩니다.
훨씬 더 간단한거 같습니다.
728x90