def solution(s, n):
    answer = ''
    for i in list(s):
      if i == ' ': answer += ' '
      elif 'a' <= i <= 'z':
        if ord('z') < ord(i) + n:
          answer += chr(ord(i) + n - 26)
        else:
          answer += chr(ord(i)+n)
      else:
        if ord('Z') < ord(i) + n:
          answer += chr(ord(i) + n -26)
        else:
          answer += chr(ord(i) + n)
    return answer
  • 공백일 땐 그대로 공백 처리를 해준다.
  • 알파벳+n을 했을 때, 'z'를 넘어간다면 다시 알파벳의 시작으로 돌아가게 한다.
    • 알파벳은 26개 >> 즉,  -26을 해줌으로써 a로 돌아가도록 설정
    • 아닐 경우 그대로 더한 후 변환

파이썬에서 ord()와 chr() 함수는 문자와 해당 문자의 아스키 코드 값을 변환하는 데 사용

  1. ord() 함수:
    • ord('a')는 문자 'a'의 아스키 코드 값인 97을 반환
  2. chr() 함수:
    • chr(97)은 아스키 코드 값이 97인 문자(a)를 반환 >> 이는 소문자 'a'를 의미

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

'코테 > 프로그래머스' 카테고리의 다른 글

내적 - python  (0) 2024.04.17
약수의 합 - python  (0) 2024.04.16
제일 작은 수 제거하기 - python  (0) 2024.04.16

+ Recent posts