하루에 하나 - 16

정인창·2021년 9월 24일
0

코딩테스트 연습

목록 보기
16/19

def solution(s, n):
    import string
    lower = string.ascii_lowercase
    upper = string.ascii_uppercase
    answer = ''
    for i in range(len(s)):
        t = s[i]
        if t in lower:
            answer += lower[(lower.find(t) + n) % 26]
        
        elif t in upper:
            answer += upper[(upper.find(t) + n) % 26]
        
        else:
            answer += t
    
    return answer
  • a~z까지 직접 입력해서 만들기보단 string의 ascii_lower, upper case를 이용했습니다.
  • 문자열 하나씩 돌면서 해당 문자열의 ascii의 index와 +n을 했고, z 다음은 a라고 했으니 26으로 나눈 나머지의 인덱스를 활용해 answer에 ascii 인덱싱한 문자열을 추가했습니다.
profile
Data science

0개의 댓글