Python/online judge

백준 [5622.다이얼] | Python

구름솜:D 2023. 11. 29. 17:46
728x90

✏️ 문제

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

 

5622번: 다이얼

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

www.acmicpc.net

 

✏️ 풀이방법

1.  다이얼번호에 적혀있는 알파벳에 맞춰 '/'로 구분된 알파벳 문자열을 담은 변수(dials) 선언하기

2.  문자열 함수 split()을 사용해서 '/'로 구분하여 새로운 문자열(dial)에 저장하기

3.  다이얼에 입력받은 알파벳을  '/'로 구분해서 담은 문자열(dial)에서 찾기

4.  찾은 문자열의 위치(인덱스 번호)를 활용하여 다이얼에 입력한 숫자 알아내기 

   -인덱스는 0부터 시작하지만 다이얼번호는 1부터 시작하는 것에 주의

5. 입력한 숫자합들의 총 합을 구하기

6. 입력한 숫자들의 총합과 입력받은만큼의 길이 합하여 출력하기

 

 

📌 코드

alphabet = input()
dials = ' /ABC/EDF/GHI/JKL/MNO/PQRS/TUV/WXYZ'
dial= ''
dial = dials.split('/')
sum = 0
for i in range(len(alphabet)):
    for j in range(9):
        if alphabet[i] in dial[j]:
            sum += j+1 #인덱스는 0부터 시작, 다이얼 번호는 1부터 시작
print(sum+len(alphabet))

 

📌 결과

WA
13
UNUCIC
36