[백준 5622번-파이썬/Python] 다이얼
알고리즘 공부/BOJ백준 풀이

[백준 5622번-파이썬/Python] 다이얼

http://acmicpc.net/problem/5622

{코드}

classify = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
s = input()
ans = 0
for c in s:
	for idx, dial in enumerate(classify):
		if c in dial:
			ans += 3 + idx
			break
print(ans)

{설명}

다음 표를 보면 알파벳을 문제의 다이얼과 같이 구분해서 리스트로 만들었을 때 인덱스와 걸리는 시간과의 관계를 알 수 있다.

알파벳 걸리는 시간 인덱스 구분
ABC 3 0 0 + 3
DEF 4 1 1 + 3
GHI 5 2 2 + 3
JKL 6 3 3 + 3
MNO 7 4 4 + 3
PQRS 8 5 5 + 3
TUV 9 6 6 + 3
WXYZ 10 7 7 + 3

이와 같이 인덱스에 3을 더하면 걸리는 시간을 구할 수 있으므로 각 알파벳이 어느 인덱스에 있는지 알고 그 인덱스에 3을 더한 값을 총합에 더해주면 된다.