0Pricing
Competitive Programming Academy · 강의

문자, ord와 chr 활용법

문자를 숫자로, 숫자를 문자로 변환합니다

문자, ord와 chr 활용법은(는) CoddyKit의 무료 Competitive Programming Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Competitive Programming Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Competitive Programming Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

문자는 숫자입니다

프로그램이 읽는 모든 문자는 내부적으로 숫자로 저장됩니다. 코드 포인트를 알면 문자에 산술 연산을 적용할 수 있습니다. 🔢

ord() 알아보기

ord() 함수는 하나의 문자를 정수 코드 포인트로 바꿉니다. 문자에서 산술 연산으로 넘어가는 다리 역할을 합니다.

print(ord('A'))  # 65
print(ord('a'))  # 97

chr() 알아보기

chr() 함수는 그 반대입니다. 숫자를 전달하면 해당하는 문자를 반환합니다. 두 함수를 함께 사용하면 깔끔하게 원래 형태로 되돌릴 수 있습니다.

print(chr(65))  # 'A'
print(chr(97))  # 'a'

문자는 연속되어 있습니다

핵심은 다음과 같습니다. a부터 z까지는 코드 포인트가 연속되어 있고, A부터 Z까지도 그렇습니다. 따라서 간단한 뺄셈으로 문자의 인덱스를 구할 수 있습니다.

문자를 0부터 25까지 매핑하기

기준 문자를 빼면 깔끔한 0부터 시작하는 인덱스를 얻을 수 있습니다. 이렇게 문자를 개수를 세기 위한 배열 위치로 바꿉니다.

idx = ord('c') - ord('a')
print(idx)  # 2

인덱스를 다시 문자로 바꾸기

반대로 하려면 기준값에 인덱스를 더한 뒤 chr()을 호출하세요. 이제 위치 0은 'a'가 되고 위치 25는 'z'가 됩니다.

ch = chr(ord('a') + 2)
print(ch)  # 'c'

문자 이동하기(카이사르)

문자를 뒤로 이동하려면 이동량을 더한 다음 26으로 나눈 나머지를 이용해 순환시키세요. 이것이 카이사르 암호 문제의 핵심입니다.

shifted = chr((ord('y') - ord('a') + 3) % 26 + ord('a'))
print(shifted)  # 'b'

대문자와 소문자는 32만큼 다릅니다

문자 배치 때문에 각 대문자는 대응하는 소문자보다 정확히 32만큼 앞에 있습니다. 필요하다면 순수한 산술 연산만으로 대소문자를 바꿀 수 있습니다.

print(ord('a') - ord('A'))  # 32

숫자도 문자입니다

문자 '7'은 숫자 7이 아닙니다. ord('0')을 빼면 숫자 문자를 실제 숫자 값으로 바꿀 수 있습니다.

d = ord('7') - ord('0')
print(d)  # 7

문자 빠르게 확인하기

참인지 거짓인지 확인할 때는 코드 포인트를 직접 비교하기보다 isalpha()와 isdigit() 같은 메서드를 사용하는 편이 깔끔합니다.

print('x'.isalpha())  # True
print('5'.isdigit())  # True

CP에서 중요한 이유

문자를 인덱스에 매핑하면 딕셔너리 대신 작은 26칸 배열을 사용할 수 있습니다. 이 방식은 더 빠르고 문자열 문제에서 자주 쓰입니다.

빠른 확인

문자 연산에 관한 간단한 질문입니다.

복습

ord와 chr은 문자를 숫자로, 숫자를 문자로 변환하며, 연속된 코드 포인트를 이용하면 간단한 연산으로 문자를 인덱싱하고 이동하고 확인할 수 있다는 것을 배웠습니다. 🎉

자주 묻는 질문

“문자, ord와 chr 활용법” 강의는 무료인가요?

네 — “문자, ord와 chr 활용법” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Competitive Programming Academy 강의 전체를 잠금 해제할 수 있습니다. Competitive Programming Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“문자, ord와 chr 활용법”에서 뭘 배우나요?

문자를 숫자로, 숫자를 문자로 변환합니다 브라우저에서 직접 실행하는 실습 코드로 Competitive Programming Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Competitive Programming Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Competitive Programming Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“문자, ord와 chr 활용법” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Competitive Programming Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Competitive Programming Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 문자, ord와 chr 활용법
  2. 빈도표로 문자 세기
  3. 올바른 팰린드롬 검사
  4. 단어 나누기, 공백 제거와 다시 합치기
← Competitive Programming Academy(으)로 돌아가기