character간의 차이를 계산해야하는 경우가 있다.
예를 들어 'A'와 'B'는 1의 차이가 나고, 'A'와 'D'는 4의 차이가 난다. 이러한 경우에는 각 알파벳을 숫자로 치환해야하는데, 일일히 치환할 필요없이 파이썬의 'ord'라는 method를 사용하면 쉽게 계산할 수 있다!
letters = "abyz"
numbers = []
for letter in letters:
number = ord(letter) - 96
numbers.append(number)
print(numbers)
>>> [1, 2, 25, 26]
위의 예시에서는 "abyz"라는 단어를 parse해서 각각의 알파벳을 정수로 나타낸다. a는 1, z는 26으로 표현된 것을 볼 수 있다. 96을 빼주는 이유는 알파벳은 97부터 리턴되기 때문에 숫자를 간결화하기 위해서이다.
* 대문자의 경우는 64를 빼주고, 소문자의 경우는 97를 빼주는 것이 좋다.
'개발공부 > 개발' 카테고리의 다른 글
Git 초기 설정 - 로컬에서 UserName과 이메일 계정 등록하기 (0) | 2021.06.24 |
---|---|
[Javascript] Object를 value 값으로 간단하게 정렬해보기 (0) | 2021.05.26 |
[algorithm] 시간 복잡도 계산 방법 + 표기법 (0) | 2021.05.13 |
Tree Traversal - Pre-order, In-order, Post-order (0) | 2021.03.02 |
Breadth First Search (BFS) - 너비 우선 탐색 (0) | 2021.02.28 |