[프로그래머스 파이썬] 시저 암호

일단 해볼게·2023년 4월 5일
0

프로그래머스

목록 보기
64/106

https://school.programmers.co.kr/learn/courses/30/lessons/12926

답 1

def solution(s, n):
    answer = ''
    for i in s:
        if i:
            if i >= 'A' and i <= 'Z':
                answer += chr((ord(i) - ord('A') + n) % 26 + ord('A'))
            elif i >= 'a' and i <= 'z':
                answer += chr((ord(i) - ord('a') + n) % 26 + ord('a'))
            else : answer += ' '
    return answer

답 2

def solution(s, n):
    s = list(s) # 리스트로 변환
    for i in range(len(s)):
        if s[i].isupper(): # 대문자인 경우
            s[i] = chr((ord(s[i]) - ord('A') + n) % 26 + ord('A')) # 차를 구하고 나머지 연산 후 다시 ord('A')를 더한다.
        elif s[i].islower(): # 소문자인 경우
            s[i] = chr((ord(s[i]) - ord('a') + n) % 26 + ord('a')) # 차를 구하고 나머지 연산 후 다시 ord('a')를 더한다.
        # 공백인 경우는 그대로
    return "".join(s)
profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글