코딩테스트 준비/백준

백준 5622번 파이썬

watervin 2022. 1. 6. 17:17

다이얼 성공다국어

한국어   
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB 64094 36763 32510 57.501%

문제

상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다.

전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다.

숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다.

상근이의 할머니는 전화 번호를 각 숫자에 해당하는 문자로 외운다. 즉, 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 걸면 된다. 예를 들어, UNUCIC는 868242와 같다.

할머니가 외운 단어가 주어졌을 때, 이 전화를 걸기 위해서 필요한 최소 시간을 구하는 프로그램을 작성하시오.

입력

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

 

#5622번

alpabets = ['ABC','DEF','GHI','JKL','MNO','PQRS','TUV','WXYZ']
num = input() #할머니의 입력값
time = 0 #걸리는 시간


for alpabet in alpabets: #알파벳 한 단위씩 읽기
    for i in alpabet:
        for j in num:
            if i == j:
                time += alpabets.index(alpabet) + 3
    

print(time)

생각보다 어렵지 않은 문제였다.

지레 겁먹지말자 나자신아!

'코딩테스트 준비 > 백준' 카테고리의 다른 글

백준 1316번 파이썬  (0) 2022.01.10
백준 2941번 파이썬  (0) 2022.01.07
백준 4673번 파이썬  (0) 2022.01.05
백준 2908번 파이썬  (0) 2021.08.15
백준 1152번 파이썬  (0) 2021.08.15