링크 : https://www.acmicpc.net/problem/5622
- 문제


- 설계하기(접근방법)
1. 알파벳을 입력받는다.
2. 알파벳을 묶음 단위로 저장한 리스트를 생성한다.
3. 알파벳을 for문으로 순회, 그리고 '2번'의 리스트를 순회하며 해당하는 알파벳이 존재할 경우 sum 에 더해준다
4. sum 출력
- 코드(출력)
alphabet = list(input()) # DEA
time = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
sum = 0
for i in time: # 'ABC'
for j in alphabet: # 'D', 'E', 'A'
if j in i:
sum += time.index(i)+3
print(sum)
- 얻어갈 부분
처음 코드를 작성할 때에는 A~Z까지 각각의 딕셔너리를 만들었다.
time = {'A': 3, 'B': 3, 'C': 3, 'D': 4, 'E': 4, 'F': 4, 'G': 5, 'H': 5, 'I': 5, 'J': 6, 'K': 6, 'L': 6, 'M': 7,
'N': 7, 'O': 7, 'P': 8, 'Q': 8, 'R': 8, 'S': 8, 'T': 9, 'U': 9, 'V': 9, 'W': 10, 'X': 10, 'Y': 10, 'Z': 10}
하지만 알파벳을 묶음단위로 리스트를 생성하여, 인덱스 자리수만큼 더해가는 형태로도 코딩하는 것이 더 수월하다는 것을 알게되었다.
'알고리즘(백준) > 기타' 카테고리의 다른 글
| [알고리즘/] 번 : - python (0) | 2023.02.05 |
|---|---|
| [백준] 2292 번 : 벌집 - python (0) | 2023.02.05 |
| [백준] 2941 번 : 크로아티아 알파벳 - python (0) | 2023.02.05 |
| [백준] 1316 번 : 그룹 단어 체커 - python (0) | 2023.02.04 |
| [백준] 2908 번 : 상수 - python (0) | 2023.01.27 |