아스키 코드
Last updated
Last updated
아스키 코드
컴퓨터는 0과 1로만 이루어져 있는 진법인 이진법으로만 읽을 수 있다는 것을 알고 계시나요? 그래서 컴퓨터에서는 우리가 문자를 입력해도 전부 이진법으로 변환되어 정보를 받는다고 합니다. 아스키 코드는 문자에 번호를 부여해 컴퓨터가 처리하기 쉽게 만든 부호입니다. 아스키 코드는 0번부터 127번까지 총 128개의 문자가 저장되어 있습니다.
ASCII의 풀 네임은 America Standard Code for Information Interchange로 미국에서 만든 표준 부호입니다. 아스키 코드 테이블에 여러가지 문자들이 있지만 우리는 보통 대소문자 영어 알파벳과 숫자만 사용하는 편이라 알파벳과 숫자만 참고해서 확인하시면 됩니다.
아스키 코드 파트에서 우리는 딱 두 개의 함수만 기억하면 됩니다. ord()는 문자를 아스키 코드 번호로 변환해주는 함수이고, chr()은 아스키 코드 번호를 문자로 변환해주는 함수입니다. 우리는 이미 2주차 ~ 3주차에서 문제를 풀 때 사용했었습니다.
아스키 코드 번호들은 따로 외울 필요가 없습니다. 위와 같이 ord()만 기억하고 있어도 번호를 다 찾을 수 있기 때문에 아스키 코드를 사용할 문제가 나타나면 ord('a'), ord('A')를 통해 아스키 코드 번호를 찾아주면 됩니다.
단순히 아스키 코드 번호를 출력하라는 문제입니다. ord()함수를 이용하여 출력을 해주면 됩니다.
대문자 입력 값이 들어오는데, A부터 Z의 값을 1부터 26까지 숫자를 할당하여 알파벳 거리를 구하라고 합니다.
일단 입력 값을 받는 코드를 작성합시다.
그리고 문자열에서 글자 하나하나 살펴봐야하므로 for문과 len을 이용하여 for문을 하나 더 작성해봅시다.
이제 문자를 하나하나 비교해봐야 하는데요. 우리는 A의 아스키 코드가 65이고, Z의 아스키코드가 90인 것을 알고 있습니다. 그러므로 ord(문자) - 64를 해주면 알파벳 대문자들이 1부터 26까지 매칭될 수 있다는 것을 확인할 수 있습니다.
거리를 구할 때는 y값이 크면 (y+26) - x인 점을 주의해서 값을 알파벳 값을 구해주면 됩니다.
이제 출력은 format과 join을 이용하여 값 사이에 공백을 넣어서 출력하면 되겠네요.