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

Tony Kim·2022년 1월 24일
0
post-thumbnail

프로그래머스

Lv.1 [1차] 시저 암호

1.문제

input 암호
output n만큼 이동

2. 풀이

.isalpha(), .islower(), .lower() if문으로 문자 구분
.index()로 접근해서 풀이

3. 코드

def solution(s, n):
    answer = ''
    alpha = 'abcdefghijklmnopqrstuvwxyz'
    for i in s:
        if i.isalpha():
            if i.islower():
                answer += alpha[(alpha.index(i)+n) % 26]
            else:
                answer += alpha[(alpha.index(i.lower())+n) % 26].upper()
        else:
            answer += " "
    return answer

참고)

  • ord() : 특정한 한 문자를 아스키 코드 값으로 변환해주는 함수
  • chr() : 아스키 코드 값을 문자로 변환해주는 함수 (10진수, 16진수 가능)
ord('A')
hex(ord('b'))
chr(96)
chr(0x32)

s.lower()

  • 값 반영되는게 아니라 lower 쓰고있는 상황에서만 바뀜

index 범위

  • 만약 넘어가면 % n 활용하기!

참고)
1)

ls.sort(reverse = True)

2)

루트,제곱근 = n**0.5 = n**(1/2)
정수판별 = is_integer(), n % 1 =0
profile
Back-end-dev

0개의 댓글