알고리즘 (JAVA)/프로그래머스 알고리즘
[코테준비 - python] 시저 암호 level1 - 개발자배찌
개발자 배찌
2022. 12. 15. 18:59
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12926
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
알아야 했던 부분!
우선 이 문제를 풀기 전 반드시 알아두어야하는 파이썬의 내장함수가 있다.
- ord(문자) : 문자의 아스키 코드 값을 반환한다.
- chr(아스키코드) : 아스키코드 값을 반환한다.
성공한 풀이과정
def solution(s, n):
answer =''
for i in s :
if i == ' ' :
answer += ' '
else :
# ord(문자) : 문자의 아스키 코드 값을 반환.
# chr(아스키코드) : 아스키코드 값을 반환.
k = chr(ord(i)+n)
if k.isupper() != i.isupper() or not k.isalpha() :
k = chr(ord(k)-26)
answer += k
return answer
실제로 아스키코드 관련된 코테 문제가 나올까? 안나올듯..
일단 알파벳이 아니고 특수문자일 경우나, 대문자일 경우 -26을 빼주면 된다는것과
아스키코드값을 반환하는 방법 ord(문자), chr(아스키코드) 이 두가지는 알고 있어야 할 것 같다.
참고블로그
https://zest1923.tistory.com/m/66
[Python] 시저암호 (프로그래머스)
문제를 보시려면 클릭하세요 더보기 문제 설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"
zest1923.tistory.com