level0_꼬리 문자열

2024. 11. 28. 20:33파이썬_알고리즘(코딩테스트)/level0

 

내가 제출한 코드

def solution(str_list, ex):
    answer = ''
    for i in range(len(str_list)):
        if ex not in str_list[i]:
            answer+=str_list[i]
    return answer
  • str_list의 길이만큼 반복문을 실행한다.
  • if ex in not in str_list[i]
    • 만약 str_list[i]에 ex가 포한되지 않을 경우
    • answer에 str_list[i]fmf 추가한다.
    • 여기서, += 연산자는 문자열을 이어 붙이는 역할을 한다.

 

다른 사람이 제출한 코드

def solution(str_list, ex): 
    return ''.join(filter(lambda x: ex not in x, str_list))
  • filter 함수는 특정 조건을 만족하는 요소들만 걸러내는 함수이다.
  • filter 함수 사용법
    • filter(함수, 반복 가능한 데이터)
    • 여기서 lambda x : ex not in x 가 조건 함수로 사용된다.
    • 요소 x가 ex를 포함하지 않을 때, True를 반환한다.
  • ''.join
    • join은 문자열 리스트의 요소들을 하나의 문자열로 이어붙이는 메서드이다.

https://www.youtube.com/watch?v=ge9J92wy0nE&list=PLa9dKeCAyr7iWPMclcDxbnlTjQ2vjdIDD

filter랑 lamba를 찾다보니 좋은 유튜브를 발견했다.

더 자세히 공부해보는것도 좋은거 같다!

참고하다보니 reduce도 알게되었다..ㅎㅎ