개발 연습장/백준 문제풀이

[파이썬, Python] 백준 5622: 다이얼

LooanCheong 2022. 12. 6. 18:19
반응형

문제

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

 

5622번: 다이얼

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

www.acmicpc.net

코드

call = str(input())
time = 0
num = ['','ABC','DEF','GHI','JKL','MNO','PQRS','TUV','WXYZ']
for i in range(len(call)):
    for j in range(len(num)):
        if call[i] in num[j]:
            time += num.index(num[j])+2
print(time)

설명

우선 전화를 걸 알파벳을 받아주고 time을 0으로 설정해준다.
이후 각 숫자에 맞는 알파벳끼리 묶어서 리스트에 넣어준다.

이중 반복문을 사용해 주는데, 우선 call의 각 알파벳을 지정해 줄 반복문 하나,
이후 이 알파벳의 숫자를 지정해 줄 반복문 하나가 필요하다.

이제 index라는 함수를 통해 숫자의 위치를 반환받는데, 찾고자 하는 문자의 위치를 반환해주는 함수이다.
예를 들어 A의 경우 num의 2번째에 위치해있으므로 1을 반환하게 된다.
기본적으로 2초가 걸리므로 인덱스에 2를 더한 값을 time에 더해주고 time을 출력해준다.

반응형