0Pricing
Coding Interview Prep · 강의

올바른 팰린드롬 검사

양쪽 끝에서 효율적으로 비교합니다

올바른 팰린드롬 검사은(는) CoddyKit의 무료 Coding Interview Prep 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Coding Interview Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Coding Interview Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

회문이란 무엇인가요

회문은 racecar나 level처럼 앞에서 읽으나 뒤에서 읽으나 같은 문자열입니다. 회문 확인은 대표적인 기초 문제입니다. 🔁

슬라이스 기법

Python에서는 슬라이스 s[::-1]로 문자열을 뒤집을 수 있습니다. 원래 문자열과 비교하면 한 줄로 확인할 수 있습니다.

s = 'level'
print(s == s[::-1])  # True

슬라이스는 추가 메모리를 사용합니다

슬라이스 방식은 짧지만 뒤집은 전체 복사본을 만듭니다. 매우 긴 문자열에서는 제한된 메모리 안에서 이 추가 사용량이 문제가 될 수 있습니다.

투 포인터 방식

포인터 하나를 시작에, 다른 하나를 끝에 둡니다. 두 문자를 비교하면서 포인터를 안쪽으로 이동하세요. 이 방식은 추가 공간 O(1)을 사용합니다.

i, j = 0, len(s) - 1
while i < j:
    if s[i] != s[j]:
        break
    i += 1; j -= 1

중간에서 멈추기

포인터는 중간에서 만나기만 하면 됩니다. i가 j보다 작지 않으면 모든 쌍이 일치한 것이므로 문자열은 회문입니다.

불일치하면 일찍 멈추기

투 포인터 반복문은 한 쌍이 다른 순간 return False를 반환할 수 있습니다. 문자열 전체를 훑는 경우가 드물어 성능도 좋아집니다.

def is_pal(s):
    i, j = 0, len(s) - 1
    while i < j:
        if s[i] != s[j]: return False
        i += 1; j -= 1
    return True

둘 다 O(n)입니다

두 방식 모두 각 문자를 최대 한 번씩만 확인하므로 선형 시간에 실행됩니다. 차이는 추가로 사용하는 메모리뿐입니다.

먼저 정규화하기

많은 문제에서는 대소문자와 공백을 무시합니다. 먼저 문자열을 정리하여 소문자로 바꾸고 문자와 숫자만 남기세요.

raw = 'A man, a plan'
clean = ''.join(c.lower() for c in raw if c.isalnum())

정리한 문자열 확인하기

정규화한 뒤에는 정리된 문자열에 평소의 회문 확인을 적용하세요. 이것이 문장 회문 문제의 표준 패턴입니다.

print(clean == clean[::-1])

포인터로 문자가 아닌 항목 건너뛰기

먼저 정리하는 대신 투 포인터가 제자리에서 영숫자가 아닌 문자를 모두 건너뛸 수도 있습니다. 그러면 두 번째 문자열을 만들 필요가 전혀 없습니다.

부분 문자열 회문

더 어려운 문제에서는 회문인 부분 문자열을 묻습니다. 핵심 아이디어는 중심에서 확장하기입니다. 각 위치에서 시작해 양 끝이 일치하는 동안 바깥쪽으로 확장하세요.

빠른 확인

회문 확인에 관한 질문입니다.

복습

빠른 슬라이스나 메모리를 적게 사용하는 투 포인터로 회문을 확인하고, 검사 전에 복잡한 입력을 정규화할 수 있습니다. 🎉

자주 묻는 질문

“올바른 팰린드롬 검사” 강의는 무료인가요?

네 — “올바른 팰린드롬 검사” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Coding Interview Prep 강의 전체를 잠금 해제할 수 있습니다. Coding Interview Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

“올바른 팰린드롬 검사”에서 뭘 배우나요?

양쪽 끝에서 효율적으로 비교합니다 브라우저에서 직접 실행하는 실습 코드로 Coding Interview Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Coding Interview Prep을(를) 시작하는 데 경험이 필요한가요?

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

“올바른 팰린드롬 검사” 강의는 얼마나 걸리나요?

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

이 Coding Interview Prep 강의에서 코드를 작성하고 실행할 수 있나요?

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

이 강의의 모든 강의

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