[코드카타] 접두사인지 확인하기

seonyoung·2024년 8월 14일
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 in is_prefix else 0

  • 일부만 정답으로 나옴

💡 내가 적은 정답

def solution(my_string, is_prefix):
    if my_string.startswith(is_prefix):
        return 1
    else:
        return 0
  • 위에 적은 코드 외에 다양하게 시도를 해보았지만 답이 나오지 않았음
  • python에 내가 원하는 문자열이 특정 문자로 시작하는지 알 수 있는 메서드가 있을 것 같아 찾아 보았음
  • startswith 메서드를 발견하였음
    → 이는 문자열 메서드로, 문자열이 특정 접두사로 시작하는지 확인함 (시작하면 True, 그렇지 않으면 False를 반환함)

💡 그 외 정답

def solution(my_string, is_prefix):
    return 1 if my_string.find(is_prefix) == 0 else 0
  • find 메서드 : is_prefix가 my_string의 맨 앞에서 시작하면 0을 반환하고, 그렇지 않으면 -1을 반환함
    → 따라서 my_string.find(is_prefix) == 0가 참이면 (즉, is_prefix가 my_string의 맨 앞에 있을 경우) 1을 반환하며, 그렇지 않으면 (즉, is_prefix가 my_string의 맨 앞에 없을 경우) 0을 반환
profile
원하는 바를 이루고 싶은 사람입니다.

0개의 댓글