코딩테스트/백준
백준 [5622] - 다이얼
문제
작성한 코드
import sys
input = sys.stdin.readline
words = list(input().rstrip())
dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
time = 0
for i in words:
for j in dial:
if i in j:
time += dial.index(j) + 3
print(time)
- sys.stdin.readline을 input에 할당하여 사용한다.
- input()으로 문자를 입력받고, rstrip()으로 오른쪽에 생성되는 엔터를 제거해준뒤, list인 words에 저장한다.
- 다이얼에 적힌대로 각 번호마다 묶인 알파벳들을 list인 dial에 문자열로 각각 저장해준다.
- for i in words: list에 저장된 입력한 값을 하나씩 꺼내 반복문 for문을 돌린다.
- for j in dial: dial 만큼도 반복문 for문을 돌려서, 만약 i(=입력한 값의 알파벳)가 j(=알파벳 별로 묶어서 저장한 값)에 있다면, 0으로 초기화 된 time에 j에 해당하는 dial의 인덱스 값에 +3을 해주어 더해준다.
(+3을 해준 이유는, dial의 인덱스는 0부터 시작하고, 문제에 따르면 1을 걸려면 2초가 걸리기 때문에)
- 최종적으로 print()로 time을 출력해준다.
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
백준 [1316] - 그룹 단어 체커 (0) | 2022.08.23 |
---|---|
백준 [2941] - 크로아티아 알파벳 (0) | 2022.08.23 |
백준 [2908] - 상수 (0) | 2022.08.20 |
백준 [1152] - 단어의 개수 (0) | 2022.08.20 |
백준 [1157] - 단어 공부 (0) | 2022.08.20 |
댓글