인덱스 슬라이싱에서 나오는 실수

HEE·2025년 4월 13일
post-thumbnail

1. 프로그래머스 python 코딩테스트 입문

Level 0. 접두사인지 확인하기

어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.

나의 오답 확인

def solution(my_string, is_prefix):
    return 1 if my_string[:len(is_prefix)-1] == is_prefix else 0

my_string[:len(is_prefix)-1] : 인덱스 슬라이싱에서 마지막이 포함 되는 줄 알고! -1까지 함. 왜냐 0부터 시작하니까!
그렇지만 0부터 시작해도, 인덱스 슬라이싱range와 마찬가지로 마지막 숫자는 포함되지 않음!

정답 확인

def solution(my_string, is_prefix):
    return 1 if my_string[:len(is_prefix)] == is_prefix else 0

[인덱스 슬라이싱] 핵심 체크

  • 인덱스 슬라이싱은 마지막이 포함되지 않는다. ( = range와 동일)
profile
ALL IS WELL

0개의 댓글