접두사인지 확인하기
in Coding Test / Programmers
프로그래머스 파이썬 - 접두사인지 확인하기
접두사인지 확인하기
문제
어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, “banana”의 모든 접두사는 “b”, “ba”, “ban”, “bana”, “banan”, “banana”입니다.
문자열 my_string
과 is_prefix
가 주어질 때, is_prefix
가 my_string
의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤
my_string
의 길이 ≤ 100 - 1 ≤
is_prefix
의 길이 ≤ 100 my_string
과is_prefix
는 영소문자로만 이루어져 있습니다.
입출력 예
my_string | is_prefix | result |
---|---|---|
“banana” | “ban” | 1 |
“banana” | “nan” | 0 |
“banana” | “abcd” | 0 |
“banana” | “bananan” | 0 |
입출력 예 설명
입출력 예 #1
- 예제 1번에서
is_prefix
가my_string
의 접두사이기 때문에 1을 return 합니다.
입출력 예 #2
- 예제 2번에서
is_prefix
가my_string
의 접두사가 아니기 때문에 0을 return 합니다.
입출력 예 #3
- 예제 3번에서
is_prefix
가my_string
의 접두사가 아니기 때문에 0을 return 합니다.
입출력 예 #4
- 예제 4번에서
is_prefix
가my_string
의 접두사가 아니기 때문에 0을 return 합니다.풀이
def solution(my_string, is_prefix):
answer = 0
my_prefix = []
for i in range(len(my_string)):
my_prefix.append(my_string[:i])
if is_prefix in my_prefix:
answer = 1
return answer
접두사를 my_prefix
에 담아서 주어진 접두사가 포함되있는지 검색해야 풀었다.
그런데 다른 분의 풀이를 봤는데 이런 함수도 있구나를 알게되었다.
startswith
startswith
는 문자열 함수 중 하나로, 문자열이 사용자가 지정하는 특정 문자로 시작하는지 확인하는 함수이다.
- 반환값은
true
혹은false
이다.
def solution(my_string, is_prefix):
return int(my_string.startswith(is_prefix))
startswith
를 사용하면 쉽게 접두사인지 알 수 있다.
반대로 접미사인지 쉽게 확인하는 방법도 있다.
endswith
endswith
는 문자열 함수 중 하나로, 현재 문자열이 사용자가 지정하는 특정 문자로 끝나는지 확인하는 함수이다.
- 반환값은
true
혹은false
이다.
def solution(my_string, is_suffix):
return int(my_string.endswith(is_suffix))
endswith
를 사용하면 쉽게 접미사인지 알 수 있다.