티스토리 뷰

728x90
반응형

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

 

5622번: 다이얼

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

www.acmicpc.net

 

나의 풀이

s = input()
dic ={'A':2,'B':2,'C':2,'D':3,'E':3,'F':3,'G':4,'H':4,'I':4,'J':5,'K':5,'L':5,'M':6,'N':6,'O':6,'P':7,'Q':7,'R':7,'S':7,'T':8,'U':8,'V':8,'W':9,'X':9,'Y':9,'Z':9}
sum = len(s)
for i in range(len(s)):
    sum+=dic[s[i]]
print(sum)

 

나는 그냥 딕셔너리에 다 저장해서 풀었다.

 

 

다른 사람 풀이

a = {c: i for i, cs in enumerate(("ABC", "DEF", "GHI", "JKL", "MNO", "PQRS", "TUV", "WXYZ"), 3) for c in cs}
print(sum(a[c] for c in input()))

 

enumerate로 풀었다.

enumerate에 인자가 두개 전달되는 경우는 몰랐는데, 두번째 인자를 start 인덱스로 할 수 있다고 한다.

2부터 알파벳이 시작이지만, 어차피 1씩 더 더해줘야 하므로 이분은 하나씩 크게 설정한 것 같다.

 

https://inma.tistory.com/101

 

[Python] enumerate()를 활용한 index, value 동시 접근

index로 value 접근 아래 방법으로 index를 통해 value 에 접근할 수 있지만 권장하지 않습니다. arr = ['a', 'b', 'c'] for index in range(len(arr)): print(index, arr[index]) # Output: # 0 a # 1 b # 2 c en..

inma.tistory.com

enumearte 관련 글이다.

enumerate는 (인덱스, 원소) 로 출력된다. 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함