본문 바로가기

알고리즘 공부/백준 > Python3

[백준 파이썬] #5622: 다이얼

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

 

5622번: 다이얼

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어는 2글자~15글자로 이루어져 있다.

www.acmicpc.net

 

[오답]

list_str=list(input())
time=0
for i in range(len(list_str)):
    time+=(ord(list_str[i])-56)//3
print(time)

 

이렇게 풀어놓고 수학 재밌네라는 생각을 했다,,,

제출을 하자 '틀렸습니다'가 떠서 문제를 다시 읽어보았는데,

나는 대문자 3개씩 있다고 생각하고 문제를 푼 것이었다,,,

 

문제를 자세히 보면, 대문자 4개가 있는 경우가 있다. → 7에 PQRS , 9에 WXYZ

그래서 7과 9를 예외로 코드를 짜려고 했으나, 그렇게 하면 코드가 어려워질 것 같아 그냥 일일이 넣어주었다,,


[정답]

str=input()
time=0
for i in str:
    if i=='A'or i=='B'or i=='C':
        time+=3
    elif i=='D'or i=='E'or i=='F':
        time+=4
    elif i=='G'or i=='H'or i=='I':
        time+=5
    elif i=='J'or i=='K'or i=='L':
        time+=6
    elif i=='M'or i=='N'or i=='O':
        time+=7
    elif i=='P'or i=='Q'or i=='R'or i=='S':
        time+=8
    elif i=='T'or i=='U'or i=='V':
        time+=9
    elif i=='W'or i=='X'or i=='Y'or i=='Z':
        time+=10
print(time)

 

뭔가 무식하게 푼 것 같지만, 이것이 최선인 것 같다.