[백준 11655] ROT13
Python에서 문자열 문제를 해결할 때에 ord()를 유용하게 써봅시다.
ord()는 해당 문자의 ASCII code를 반환합니다.
이를 잘 사용하면 13글자씩 밀고 당기는 것이 가능합니다.
먼저, 알파벳 대문자와 소문자만 변환해야 하므로 isalpha()를 통해 조건에 부합하는지 확인합니다.
그 다음, ord()로 얻어진 ASCII code에 13을 더하면 13글자씩 밀 수 있습니다.
이때, 대문자이든 소문자이든 상관없이 알파벳은 26글자씩이라는 점에 주목합시다.
ord()를 통해 얻어진 ASCII code에 13을 단순히 더하기만 하면
알파벳 범주를 벗어나서 다른 문자를 출력해낼 수도 있습니다.
따라서, 안쪽의 if문을 통해 그 범주를 넘어섰을 시에 26을 다시 빼주면 원하는 문자를 출력해낼 수 있습니다.
참고로, chr() 함수를 통해 해당 ASCII code에 상응하는 문자를 출력해낼 수 있습니다.
문제 : 백준 11655 - ROT13