BOJ

[백준/BOJ] python 5622번 다이얼

kyj0015 2023. 1. 25. 21:21

언어: python

번호: 5622

제목: 다이얼

등급: 브론즈 2

풀이 과정:

전화기의 다이얼 모양에 따라 같은 알파벳끼리 묶어 리스트를 만든다. 입력받은 단어의 각 알파벳이 리스트 안에 몇번째로 있는지 위치를 구해 더한다. 리스트는 0번째부터 시작하는데, 예를 들어 A는 다이얼의 2번으로 3초가 걸리니 3을 더해 계산한다.

코드:

# 5622
s = input()
a = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
result = 0

for i in s:
    for j in a:
        if i in j:
            result += a.index(j) + 3

print(result)

 

 

메모:

list.index('찾고자하는 요소', 시작점, 종료점)

시작점부터 종료점까지 해당 리스트에 찾고자하는 요소가 처음으로 나오는 위치가 몇 번인지 알려준다.

index()와 find()의 차이점

index()

1) 찾는 문자가 없는 경우 ValueError 에러가 발생한다.

2) 리스트, 문자열, 튜플에서 사용할 수 있다.

find()

1) 찾는 문자가 없는 경우에는 -1을 출력한다.

2) 문자열에서만 사용할 수 있다.