본문 바로가기
DEV/백준 알고리즘

백준 알고리즘 11654번(파이썬)

by 올커 2022. 10. 3.

 

백준 11654번_파이썬 알고리즘

Q. 백준 11654. 아스키 코드

 알파벳 소문자, 대문자, 그리고 10보다 작은 양의 정수 0~9중 하나를 입력하고, 해당 글자의 아스키(ASCII) 코드를 출력하는 프로그램을 작성한다.
(1) 입력 : 알파벳 소문자, 대문자, 또는 10보다 작은 양의 정수 0~9중 하나를 첫째 줄에 입력받는다.
(2) 출력 : 입력받은 문자의 아스키 코드 값을 출력한다.

 

※ 아스키(ASCII) 코드란? 

: 미국정보교환표준부호(American Standard Code for Information Interchange)의 약자로 영문 알파벳을 사용하는 문자 인코딩을 말한다. 컴퓨터는 문자를 문자가 아닌 숫자로 저장하고 표현하며, 이를 전세계에서 공통적으로 사용할 수 있도록 1967년에 만들어진 알파벳에 기초를 둔 표준 규격이다. 7비트 인코딩으로 출력 불가능한 제어문자 33개, 출력 가능한 문자 95개로 표현할 수 있는 정보의 가짓수가 총 128개(2의 7제곱)로 이루어져있다. 

 

▼ 제어 문자표 (※ 출처. 위키백과)

▼ 출력 가능 문자표 (※ 출처. 위키백과)

※ 아스키 코드를 파이썬에서 사용하려면 아래의 함수를 사용한다.

 (1) 문자 → 아스키 코드 변환 : ord("변경하려는 문자")

 (2) 아스키 코드 → 문자 변환 : chr("아스키 코드")

 


A. 풀이

 - 이번 문제는 아래와 같이 풀이하면 정답을 얻을 수 있다.

 

# Q 백준 11654. 아스키 코드
print(ord(input()))

 - 위의 참고내용을 확인해보면 문자를 아스키 코드로 변환할 때에는 'ord()' 함수를 사용해야 한다.

 - 문자를 사용자로부터 입력받아야 하기 때문에 'input()' 함수를 ord 함수의 괄호 안에 넣어주었다.

 - 작업 내용을 입력 후 출력값으로 보여주기 위해서 'print()' 함수를 가장 바깥쪽에 씌워줌으로써 문제를 마무리한다.

 


R. 리뷰

 - 이번 백준 문제는 아스키 코드를 파이썬에서 어떻게 활용하는지 알고 있어야 풀 수 있는 문제였다.

 - 아스키 코드는 초창기 문자 집합으로, 영어 알파벳과 아라비아 숫자, 일부 특수문자를 포함하지만 한글을 표현할 수 없다는 단점도 갖고 있다. 한국을 포함한 영어권 외 나라들은 아스키코드가 아닌 0과 1로 언어를 표현하기 위해 고민하였고, 이를 위해 등장한 한글 인코딩 방식 중에는 EUC-KR이 있다. 하지만 이도 모든 한글을 표현할 수 없었고, 언어별로 인코딩을 나라별로 한다면 프로그래밍에서 다국어 지원이 어려워 지기 때문에 모든 언어를 아우르는 통일된 표준 인코딩 방식으로 유니코드 문자 집합이 나왔다. 유니코드 문자 집합은 가장 대중적인 UTF-8부터 UTF-16, UTF-32등이 있다. 

반응형

댓글