백준 11655 (ROT13) - Python

김종언·2024년 3월 13일
0

백준

목록 보기
17/18

문제.

import sys

S = sys.stdin.readline().strip()
res = ''
lower_alphabet = "abcdefghijklmnopqrstuvwxyz"
upper_alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

for char in S:
    if char.isupper():
        res += upper_alphabet[(upper_alphabet.index(char) + 13) % 26]
    elif char.islower():
        res += lower_alphabet[(lower_alphabet.index(char) + 13) % 26]
    else:
        res += char

print(res)

일단 아스키코드가 쓰기 꽤 빡세보여서 문자열에 알파벳 다 박고 인덱스로 다룸(사실 별차이 없음)

그것보다 중요한게 이 챗지피티형님이 가르쳐주신 인덱스 나누기 방법.

그것이 뭐냐면 어떤 정해진 범위에서 인덱스를 다뤄야 할 때, 인덱스 범위를 넘어간 만큼 앞에서 시작해줄 때 있잖아. 그때 if문으로 범위를 나누는건 하수고 나머지를 통해 인덱스를 넘는다면 얼마를 넘든 넘는 만큼만 앞에서 시작하게끔, 넘어가지 않는다면 그냥 하게끔 하자. 매우 중요. 기억하자!!

profile
나는 김종언이다.

0개의 댓글