-
[BOJ/5598] 카이사르 암호백준 알고리즘/Problems 2023. 2. 24. 13:40
해당 문제를 풀기 위해선 알파벳을 숫자로 변환하는 과정이 필요하다.
그러기 위해 파이썬의 내장 함수인 `ord`, `chr` 를 이용해보자.
https://ddolcat.tistory.com/684
[Python] 파이썬 아스키코드(ASCII) 비교 및 변환 총정리 : ord(), chr(), hex()
파이썬에서 아스키코드를 문자로 변환하는 방법과 문자를 아스키코드로 변환하는 방법에 대해 알아봅니다. ord()함수를 사용하여 아스키코드로 변환할 수 있습니다. 반대로 chr()함수를 사용하여
ddolcat.tistory.com
카이사르 암호는 변경 전 문자보다 변경 후 문자가 아스키 코드가 3만큼 더 크다.
단, 이는 변경 후 문자 A, B, C에게는 적용되지 않는다.
변경 전 문자 X, Y, Z에 아스키 코드를 3만큼 더한다면 A, B, C가 아닌 엉뚱한 값이 나올 것이기 때문이다.
그것에 대한 처리만 해주면 문제를 쉽게 풀 수 있다.
word = input() ans = "" for char in word: # A, B, C인 경우 if "A" <= char <= "C": ans += chr(ord(char) + 23) # A, B, C가 아닌 경우 else: ans += chr(ord(char) - 3) print(ans)
'백준 알고리즘 > Problems' 카테고리의 다른 글
[BOJ/2247] 실질적 약수 (0) 2023.03.23 [BOJ/15905] 스텔라(STELLA)가 치킨을 선물했어요 (0) 2023.03.05 [BOJ/1181] 단어 정렬 (Feat. 집합, 람다 함수) (0) 2023.03.05 [BOJ/2999] 비밀 이메일 (Feat. 정말 좋은 2차원 리스트 연습문제) (0) 2023.03.03 [BOJ/2444] 별 찍기 - 7 (0) 2023.02.24