반응형
https://www.acmicpc.net/problem/4613
파이썬에서 아스키 코드를 숫자로 변환하는 ord() 함수를 사용하면 알파벳을 매핑되는 숫자로 쉽게 변환할 수 있는 점을 이용했다.
그리고 문자열의 각 문자별 index를 쉽게 구하기 위해, enumerate()도 사용했다.
이번 문제부터 본격적으로 input()과 print()를 대신해서, 성능 개선을 위해 앞으로 쭉 sys.stdin과 sys.stdout 모듈 함수를 사용하려 한다.
(정답 코드)
import sys
lines = sys.stdin.read().splitlines()[:-1]
ans = []
for line in lines:
sum = 0
for i, c in enumerate(line, 1):
if c != " ":
sum += i * (ord(c) - ord("A") + 1)
ans.append(str(sum))
sys.stdout.write("\n".join(ans))
반응형
'baekjoon' 카테고리의 다른 글
[BOJ] 10807번: 개수 세기 / Python (0) | 2024.12.20 |
---|---|
[BOJ] 28278번: 스택 2 / Python (1) | 2024.12.20 |
[BOJ] 1620번: 나는야 포켓몬 마스터 이다솜 / Python (1) | 2024.12.15 |
[BOJ] 10814번: 나이순 정렬 / Python (0) | 2024.12.11 |
[BOJ] 25915번: 연세여 사랑한다 / Python (0) | 2024.12.08 |