[python] 아스키코드 변환 함수

Yeri Kim·2024년 10월 7일

프로그래머스에서 시저 암호 문제를 푸는데 아스키코드 변환하는 문제가 나왔다.

하지만 ~!
python에도 ord(), chr() 함수가 있지롱

ord(문자)

ord("a") = 97

chr(숫자)

chr(97) = "a"

이러한 아스키코드 변환 함수를 활용해서 푼 나의 시저 암호 풀이

def solution(s, n):
    answer = ""
    for i in s:
        if i == " ":
            answer += " "
        elif i.isupper():
            answer += chr((ord(i)-ord("A")+n)%26+ord("A"))
        else:
            answer += chr((ord(i)-ord("a")+n)%26+ord("a"))

    return answer

❓ %26을 하는 이유는 "z" -> "a" / "Z" -> "A" 인 경우를 위해서 알파벳 개수인 26개로 나눈 나머지 값을 활용하기!

profile
Hi there!

0개의 댓글