문제
알파벳으로 이루어진 문자열을 입력 받아 각 알파벳을 1부터 26까지의 숫자로 변환하여 출력하라.
풀이
container=input()
for i in container:
ans=ord(i)-64
print(ans,end=" ")
ord() 함수는 유니코드 문자에 대응되는 정수를 표현한다. 대문자 A는 65에 해당된다. 따라서 ord("A") - 64를 하는 경우 1이 된다.
container 변수를 통해 입력을 받는다. 이 때 ABCDEFGHIJKLMNOPQRSTUVWXYZ 문자열을 받게 된다.
입력받은 문자열을 for문을 통해 for i in container:를 사용하면, for문의 i는 문자열 하나 하나를 읽는다.
따라서 i = A, B, C, D,....,Z로 차례대로 입력된다.
입력된 문자열을 ord() 함수를 통해 정수형으로 바꿔주고, 이 값에 -64를 빼면 원하는 답이 나오게 된다.
'파이썬 > 파이썬 알고리즘' 카테고리의 다른 글
[swea - 파이썬] 2025. N줄덧셈 (0) | 2021.07.19 |
---|---|
[swea - 파이썬] 1933. 간단한 N 의 약수 (0) | 2021.07.19 |
[swea - 파이썬] 2068. 최대수 구하기 (0) | 2021.07.19 |
[swea - 파이썬] 2046. 스탬프 찍기 (0) | 2021.07.19 |
[swea - 파이썬] 1545. 거꾸로 출력해 보아요 (0) | 2021.07.14 |
댓글