반응형
문제
https://www.acmicpc.net/problem/5622
코드
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을 출력해준다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 1316: 그룹 단어 체커 (0) | 2022.12.08 |
---|---|
[파이썬, Python] 백준 2941: 크로아티아 알파벳 (0) | 2022.12.07 |
[파이썬, Python] 백준 2908: 상수 (0) | 2022.12.05 |
[파이썬, Python] 백준 1152: 단어의 개수 (0) | 2022.12.04 |
[파이썬, Python] 백준 1157: 단어 공부 (0) | 2022.12.03 |