[백준] 11655. ROT13

원숭2·2022년 2월 21일
0

백준

목록 보기
45/54
post-thumbnail

문제

풀이

  1. for문을 돌며 각 문자에 대해 ord함수를 사용함.
  2. ord함수의 변환값의 범위를 기준으로 대, 소문자, 숫자를 나눠줌.
  3. 13민 변환값이 각 문자의 최대 범위를 초과하면, -13해줘서 맞춰줌.

코드

import sys

def solution() :
    s = sys.stdin.readline().rstrip()
    res = []
    
    for s in s :
        if ord(s) in range(65, 91) :
            if ord(s) + 13 > 90 :
                res.append(chr(ord(s) - 13))
            else :
                res.append(chr(ord(s) + 13))
        elif ord(s) in range(97, 123) :
            if ord(s) + 13 > 122 :
                res.append(chr(ord(s) - 13))
            else :
                res.append(chr((ord(s) + 13)))
        else :
            res.append(str(s))

    print(''.join(res))
    
solution()

0개의 댓글