본문 바로가기
🔅코딩테스트 공부🔅/❗백준

[백준] 5622번 다이얼(with python)

by 윤무무 2023. 1. 21.

https://www.acmicpc.net/problem/5622

 

5622번: 다이얼

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.

www.acmicpc.net

 

1. 내가 작성한 코드
word = list(input()) #문자입력

sum = 0

for i in word:
  if i in ['A','B','C']:
    sum += 3
  elif i in ['D','E','F']:
    sum += 4
  elif i in ['G','H','I']:
    sum += 5
  elif i in ['J','K','L']:
    sum += 6
  elif i in ['M','N','O']:
    sum += 7
  elif i in ['P','Q','R','S']:
    sum += 8
  elif i in ['T','U','V']:
    sum += 9
  elif i in ['W','X','Y','Z']:
    sum += 10

print(sum)

약간의 노가다가 필요하지만 위와 같이 쉽게 풀 수 있다.

 

또 다른 방법은 이중 for문을 이용하는 건데,

 

dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
word = input()
result = 0

for i in word:
  for j in dial:
    if i in j:
      result += dial.index(j) + 3

이렇게 인덱스 + 3 초를 더해주면 되는 문제

댓글