728x90
반응형
문제
https://www.acmicpc.net/problem/5622
문자열 입력
합을 계산하기 위한 변수 생성
각 문자의 위치 정보를 찾기 위한 리스트 생성
- 해당 리스트에 저장되어있는 숫자는 (아스키 - 65) 값을 기준으로 3개 4개씩 묶었을 때 다이얼에 들어가 있는 영문자의 개수 누적합
s = input()
add = 0
l = [3, 6, 9, 12, 15, 19, 22, 26]
문자를 하나씩 가져오며 반복
문자 - 65 한 값을 저장하고 리스트 내에 저장되어 있는 값보다 최초로 작아지는 위치(인덱스)를 찾기
찾은 후 인덱스 번호와 3을 더해 다이얼에 해당하는 숫자를 만들어줌
그 숫자를 누적하여 더해줌
그 후 출력
for c in s:
n = ord(c) - 65
for i in range(len(l)):
if n < l[i]:
n = i + 3
break
add += n
print(add)
전체 코드
s = input()
add = 0
l = [3, 6, 9, 12, 15, 19, 22, 26]
for c in s:
n = ord(c) - 65
for i in range(len(l)):
if n < l[i]:
n = i + 3
break
add += n
print(add)
728x90
반응형
'코딩 > 공부' 카테고리의 다른 글
[Python] 백준 4101번 - 크냐? (0) | 2024.01.30 |
---|---|
[Python] 백준 11718번 - 그대로 출력하기 (0) | 2023.10.12 |
[Python] 백준 2908번 - 상수 (0) | 2023.10.12 |
[Python] 백준 1152번 - 단어의 개수 (0) | 2023.10.12 |
[Python] 백준 10809번 - 알파벳 찾기 (0) | 2023.10.12 |