Lumpy Space Princess - Adventure Time
코딩테스트/백준

백준 [5622] - 다이얼

yaebb_82 2022. 8. 23.

문제

 

 

 

작성한 코드

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

댓글