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

단간단간·2024년 5월 3일
0

알고리즘 문제

목록 보기
96/106

문제 링크:

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


python

def solution(s, n):
    upper_case = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    upper_case_dict = {c: idx for idx, c in enumerate(upper_case)}

    lower_case = "abcdefghijklmnopqrstuvwxyz"
    lower_case_dict = {c: idx for idx, c in enumerate(lower_case)}

    result = []
    for c in s:
        if not c.isalpha():
            result.append(c)
        elif c.islower():
            result.append(lower_case[(lower_case_dict[c] + n) % 26])
        else:
            result.append(upper_case[(upper_case_dict[c] + n) % 26])

    return "".join(result)


if __name__ == "__main__":
    result = solution("AB", 1)
    print(result)
BC
profile
simple is best

0개의 댓글