본문 바로가기
Coding Test

[CT] 프로그래머스 접미사인지 확인하기 Python3 ver.

by Luciditas 2023. 11. 1.
728x90

문제 설명

어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.

 

제한사항

  • 1 ≤ my_string의 길이 ≤ 100
  • 1 ≤ is_suffix의 길이 ≤ 100
  • my_string과 is_suffix는 영소문자로만 이루어져 있습니다.

 

입출력 예

my_string is_suffix result
"banana" "ana" 1
"banana" "nan" 0
"banana" "wxyz" 0
"banana" "abanana" 0

 

입출력 예 설명

입출력 예 #1

  • 예제 1번에서 is_suffix가 my_string의 접미사이기 때문에 1을 return 합니다.

입출력 예 #2

  • 예제 2번에서 is_suffix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.

입출력 예 #3

  • 예제 3번에서 is_suffix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.

입출력 예 #4

  • 예제 4번에서 is_suffix my_string 접미사가 아니기 때문에 0 return 합니다.

나의 풀이

def solution(my_string, is_suffix):
    answer = 0
    if my_string.endswith(is_suffix):
        answer = 1
    return answer

 

endswith() 메서드를 이용하여 문제를 풀었다.

이 문제를 쉽게 접근하기 위한 endswith()에 대해서 정리도 포함해보겠다.

 

endswith()

이 메서드는 한 문자열이 ()안에 들어가는 문자열로 끝나는지 체크할 수 있는 파이썬 메서드다.

이 메서드는 Boolean 타입을 반환한다.

endswith()의 기본 구문은 다음과 같다.

tr.endswith(suffix[, start[, end]])

1. suffix : 검사할 접미사 문자열을 의미한다.

2. start : 검사를 시작할 문자열 내의 인덱스를 나타낸다. 기본값은 0이다.(상황에 따라 선택적으로 넣을 수 있다.)

3. end : 검사를 종료할 문자열 내의 인덱스를 나타낸다. 기본값은 문자열의 길이다.(상황에 따라 선택적으로 넣을 수 있다.)

str = "Hello"

 

다음과 같은 문자열이 있다고 가정해보자.

str은 H,e,l,l,o로 구성되어 있다.

 

이 문자열에 endswith()를 추가해서 parameter에 "ello"을 넣으면 다음과 같은 값을 얻을 수 있다.

str = "Hello"

str.endswith("ello")
# True

 

 

하지만 여기에 ell을 넣으면 다음과 같이 False를 반환한다.

str = "Hello"

str.endswith("ell")
# False
728x90