삽집하는 개발들/알고리즘

[33일차][프로그래머스][12926]시저 암호

악투 2023. 7. 29. 15:55
반응형
def solution(s, n):
    ord_A = ord('A')
    ord_Z = ord('Z')
    ord_a = ord('a')
    ord_z = ord('z')    
    s_arr = [ ord(s[idx]) for idx in range(len(s)) ]
    result = []

    for data in s_arr:
        if data == 32:
            result.append(" ")
        elif ord_A <= data <= ord_Z:
            result.append(
                chr(ord_A + (data + n - ord_Z)-1)
                if data + n > ord_Z 
                else 
                chr(data + n)

            )
        else:      
            result.append(
                chr(ord_a + (data + n - ord_z)-1)
                if data + n > ord_z 
                else 
                chr(data + n)              
            )     

    return ''.join(result)
반응형