일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 오블완
- function #사용자 정의 함수
- CI #CD #CI/CD
- dump #jattach
- Linux #wc
- Excel #엑셀
- Kafka #카프카
- 백준 #10430
- Grid #CSS
- Swap Memory
- Python #pakage
- shell #shell script
- jmap #jstack
- lvm #lv #vg #pv
- NameSpace #NS
- test #비교
- istio #k8s #kubernetes
- EFK
- 티스토리챌린지
- OCP
- lenova #레노버 #노트북
- Node #POD #Container
- jgrp000032 #ocp #
- publishnotreadyaddress
- DB #mariaDB #SQL
- bootstrap #css #CSS
- dify
- EKS
- 네트워크 #NW
- PODS #POD #pods #pod #파드 #재기동 #롤링재기동 #rolling
Archives
- Today
- Total
BEOM_IT
[programmers]python 12926 시저암호 본문
728x90
반응형
# 시저암호
# 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다.
# 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다.
# "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수 return
# 아스키코드
# 문자열을 숫자로 ord()
# 숫자를 문자열로 chr()
# 알파벳은 총 26개
# 대소문자 구분으로 나누자
def solution(s, n):
S=''
print(ord("a"))
# print(ord("z"))
print(ord("A"))
# print(ord("Z"))
for i in s:
if i.isupper():
# 65 = A
S+=chr((ord(i)+n-65)%26+65)
elif i.islower():
# 97 = a
S+=chr((ord(i)+n-97)%26+97)
elif i==' ':
S+=' '
return S
print(solution("xyz",3)) #abc
# print(solution("AB",1)) # BC
# print(solution("z",1)) # a
# print(solution("a B z",4)) # e F d
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[programmers] python 86491 최소직사각형 (1) | 2024.06.04 |
---|---|
[programmers]python 12940 최소공배수 최대공약수 (0) | 2024.05.31 |
[programmers]python 12980 점프와 순간이동 (0) | 2024.05.28 |
[programmers]python 12917 문자열 내림차순 배치 (0) | 2024.05.17 |
약수구하기 (0) | 2024.05.09 |