level0_접미사인지 확인하기

2024. 6. 10. 22:29파이썬_알고리즘(코딩테스트)/level0

 

내가 제출한 코드

def solution(my_string, is_suffix):
    return int(my_string.endswith(is_suffix))

 

접두사인지 확인하기 문제에서 힌트를 얻어서 (my_string.startswith으로 나타낸걸 기억해냈음).... 문제를 풀었당!ㅎ

 

 

- endswith 메서드는 my_string이 in_suffix로 끝나는지 확인한다.  이 메서드는 True나 False를 반환한다. 

 

혹시나하고 다른 풀이로 접근했당 ㅎㅎ

 

 

내가 제출한 다른코드2

def solution(my_string, is_suffix):
    answer = []
    for i in range(len(my_string)):
        answer.append(my_string[i:])
    if is_suffix in answer:
        return 1
    else:
        return 0

 

됐당 ㅎㅎ

 

my_string의 i번째 문자부터 끝까지 부분 문자열을 리스트에 추가하여 is_suffix가 answer 리스트에 있는지 확인하고 결과값을 나타낸다.

 

하지만 이 코드는 불필요하게 많은 메모리를 사용하는 점이 있어서 첫번째로 제출한 코드가 더 효율성이 높다.

 

 

 

 

다른 사람이 제출한 코드

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

 

- my_string[-len(is_suffix):] :is_suffix의 길이만큼 my_string 문자열의 끝에서부터 거꾸로 이동한 위치를 나타낸다.

그런다음 is_suffix 와 같다면 1을 반환하고, 그렇지 않다면 0을 반환한다.