코딩코딩코딩

python 아스키코드(ASCII) ord, chr 본문

파이썬/Algorithms

python 아스키코드(ASCII) ord, chr

hanshow113 2021. 11. 2. 10:49

컴퓨터는 문자도 0과 1의 숫자로 기억하는데, 이 때 통상적으로 숫자와 어떤 문자를 대응시키는가에 따른 인코딩 방식으로 아스키 코드 방식을 많이 사용함

표준 아스키 코드는 0~127번까지만 사용

 

128~255 특수 문자
0~127 자주쓰는 문자
0~31 특수제어코드

 

출처: https://m.blog.naver.com/kimkwon429/220723064434

숫자 0~9 (ASCII): 48 ~ 57

알파벳 A~Z (ASCII):  65 ~ 90

알파벳 a~z (ASCII): 97 ~ 122

 

 

 

파이썬에서 이를 활용하여 아스키코드를 문자열로 / 문자열을 아스키코드로 변환하는 함수가 각각 chr, ord 임

print(ord('a'))
>>> 97

print(chr(97))
>>> 'a'

 

종종 문자열 알고리즘 문제를 풀다가 보면 a~z까지의 문자가 필요한 경우가 있는데, 이 때 아스키코드를 활용하면  ['a', 'b', ```, 'z']  같은 알파벳 리스트를 만들 필요가 없음

 

예시) L = ['a', 'b', 'c', 'd', 'e', 'f']

주어진 문자열 중 리스트 L의 원소가 각각 몇 번 쓰였는지 확인하는 경우

input: 'abbcd'

output: 1 2 1 1 0 0

 

# 아스키코드 사용 X
## 조회해야 할 문자열을 생성해야 함

a = ['a', 'b', 'c', 'd', 'e', 'f']
s = 'abbcd'

for i in a:
    print(s.count(i), end=' ')


>>>> 1 2 1 1 0 0
========================================
# 아스키코드 사용 O

s = 'abbcd'

for i in range(ord('a'), ord('f')+1):
    print(s.count(chr(i)), end=' ')
    

>>>> 1 2 1 1 0 0
Comments