좌충우돌 개발자의 길

백준 알고리즘 | 5622번 (다이얼) | 파이썬 본문

CODING TEST/백준

백준 알고리즘 | 5622번 (다이얼) | 파이썬

sustronaut 2021. 7. 11. 19:34

5622번 (다이얼)

  • 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다.
  • 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다.
  • 상근이의 할머니는 전화 번호를 각 숫자에 해당하는 문자로 외운다. 즉, 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 걸면 된다. 예를 들어, UNUCIC는 868242와 같다.
  • 할머니가 외운 단어가 주어졌을 때, 이 전화를 걸기 위해서 필요한 최소 시간을 구하는 프로그램을 작성하시오.
word = list(input())

result = 0

for i in range(0, len(word)):
    if (word[i] == "A" or word[i] == "B" or word[i] == "C"):
        result = result + 3
    elif (word[i] == "D" or word[i] == "E" or word[i] == "F"):
        result = result + 4
    elif (word[i] == "G" or word[i] == "H" or word[i] == "I"):
        result = result + 5
    elif (word[i] == "J" or word[i] == "K" or word[i] == "L"):
        result = result + 6
    elif (word[i] == "M" or word[i] == "N" or word[i] == "O"):
        result = result + 7
    elif (word[i] == "P" or word[i] == "Q" or word[i] == "R" or word[i] == "S"):
        result = result + 8
    elif (word[i] == "V" or word[i] == "T" or word[i] == "U"):
        result = result + 9
    elif (word[i] == "W" or word[i] == "X" or word[i] == "Y" or word[i] == "Z"):
        result = result + 10
    

print(result)

백준 알고리즘 | 10809번 (알파벳 찾기) | 파이썬