본문 바로가기
알고리즘 문제 풀이

프로그래머스 시저 암호 (Python)

by 로널드 피셔 2022. 11. 1.

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

def solution(s, n) :
    upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    lower = upper.lower()
    answer = ""
    for i in s :
        if i.isupper() == True :
            answer = "".join((answer, upper[(upper.index(i) + n) % 26]))
        elif i.islower() == True :
            answer = "".join((answer, lower[(lower.index(i) + n) % 26]))
        elif i == " " :
            answer = "".join((answer, " "))
    return answer

미리 대문자와 소문자 문자열을 생성해 놓고, 입력받는 문자열의 앞에서부터 대문자 or 소문자인지 isupper() 메소드와 islower() 메소드로 구분한다. 다음으로 해당 문자의 인덱스 번호를 index()로 받아와 n을 더해 변환할 문자를 찾아낸다.

댓글