본문 바로가기
  • 머킹이의 머신로그
오늘부터 코딩테스트

[오늘부터 코딩테스트]프로그래머스 코딩 기초 프로그램 풀기

by 머킹 2023. 9. 23.
728x90

프로그래머스 Lv.0단계 문제풀이 [Python]

안녕하세요 머킹입니다

오늘도 조금이지만 코딩을 해보았습니다.


문자열의 뒤의 n글자

 

문제 설명

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 뒤의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.

 

제한사항

my_string은 숫자와 알파벳으로 이루어져 있습니다.
1 ≤ my_string의 길이 ≤ 1,000
1 ≤ n ≤ my_string의 길이

 

내 코드

 
# my_string에서 n만큼 뒤에서 빼기
my_string.pop([:n])
len(my_string).pop(len(n))
def solution(my_string, n):
    return my_string[-n:]

이번 문제는 나름 문제가 쉬웠습니다.

pop이 아니라 -n을 하는 것도 방법이네요~!

 


접미사 배열

 

문제 설명

어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다.

예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string이 매개변수로 주어질 때, my_string의 모든 접미사를 사전순으로 정렬한

문자열 배열을 return 하는 solution 함수를 작성해 주세요.

 

제한사항

- my_string은 알파벳 소문자로만 이루어져 있습니다.

- 1 ≤ my_string의 길이 ≤ 100

 

코드

def solution(my_string):
    answer = [my_string[i:] for i in range(len(my_string))]
    answer.sort()
    return answer

 

- for문을 돌려서 슬라이싱을 했습니다.

 

다른 사람의 코드

def solution(my_string):
    return sorted(my_string[i:] for i in range(len(my_string)))

 


접미사인지 확인하기

 

문제 설명

어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다.

예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을,

아니면 0을 return 하는 solution 함수를 작성해 주세요.

 

내 코드

def solution(my_string, is_suffix):
    answer = 0
    if is_suffix in my_string:
        print('1')
    else:
        print('0')
    return answer

>> 결괏값 하나가 다르게 나옵니다. 왜일까 고민..

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

찾아보니 endswith이라는 접미사 문장 찾기가 있었습니다.

 

[endswith란?]

정의된 문자열이 지정된 접미사로 끝나면 True를 돌려주고, 그렇지 않으면 False를 돌려줍니다.

접미사는 찾고자 하는 접미사들의 튜플이 될 수 도 있습니다.

선택적 start가 제공되면 그 위치에서 검사를 시작합니다.

선택적 end를 사용하면 해당위치에서 비교를 중단합니다.

 

 


피곤하긴 하지만, 그래도 풀어보니까 되게 뿌듯하네요!