본문 바로가기
알고리즘

[Python] 백준 5622번: 다이얼

by 내 코딩 2023. 2. 13.
반응형

코드

n_list = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
n = input()

time = 0
for nlist in n_list:
    for i in nlist:
        for it in n:
            if i == it:
                time += n_list.index(nlist) + 3
print(time)

설명

다이얼에 있는 알파벳 리스트를 만들어놓는다.

문자열을 입력받는다.

시간은 time에 0으로 지정해둔다.

다중 for문으로 알파벳을 분리시켜준다.

첫 번째 for문에서는 리스트 안에 있는 알파벳 묶음들을 불러온다.

두 번째 for문에서는 알파벳 묶음들에 대해 한 글자씩 가져온다.

세 번째 for문에서는 입력단어 input()에 대해서 한글자씩 불러온다.

이 때 한글자씩 불러왔던 단어들 i와 입력 값에서 한글자씩 불러온 it가 같다면 time을 늘려주는데

time은 index()를 통해 n_list에 있는 가장 처음 for문에서 불러온 알파벳 묶음 순서의 숫자를 가져온다.

문제에서는 1을 걸려면 2초가 필요하지만 파이썬에서 첫 번째는 0이기 때문에 3을 더해준다.

댓글