Coding Test/Baekjoon

[Python] 파이썬 백준(5622) 다이얼

파송송 2023. 3. 30. 19:41
728x90

https://www.acmicpc.net/problem/5622

 

5622번: 다이얼

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.

www.acmicpc.net


나의 풀이

  • 주어진 문자의 다이얼을 돌릴 때 시간이 얼마나 걸리는지 구하는 문제
  • 1의 경우 2초의 시간이 걸리고 2의 경우 3초의 시간이 걸림
num = input()
dialog = dict(A=3,B=3,C=3,D=4,E=4,F=4,G=5,H=5,I=5,J=6,K=6,L=6,M=7,N=7,O=7,P=8,Q=8,R=8,S=8,T=9,U=9,V=9,W=10,X=10,Y=10,Z=10)
answer = 0
for n in num:
    answer+= dialog[n]
print(answer)

dict으로 하면 list의 index보다 더 빠르게 로짓이 돌아갈 줄 알았으나 크기가 크지 않아 list로 문제를 해결해도 시간이 똑같음

S = input()
dial = ["ABC", "DEF", "GHI", "JKL", "MNO", "PQRS", "TUV", "WXYZ"]
count = 0
for s in S:
    for i in dial:
        if s in i:
            count += dial.index(i) + 3
print(count)
728x90