본문 바로가기
[업무 지식]/Algorithm

[filter] 나누어 떨어지는 숫자 배열

by 에디터 윤슬 2024. 12. 19.

링크

https://school.programmers.co.kr/learn/courses/30/lessons/12910

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

문제

정답 1

def solution(arr, divisor):
	answer = []
    for num in arr:
    	if num % divisor == 0:
        	answer.append(num)
    return sorted(answer) if answer else [-1]

정답 2

def solution(arr, divisor):
	answer = sorted([num for num in arr if num % divisor == 0])
    return answer if answer else [-1]

 

정답 3

def solution(arr, divisor):
	answer = list(filter(lambda x: x % divisor == 0, arr))
    return sorted(answer) if answer else [-1]

 

새롭게 이해한 내용

  • filter 함수란?
    • 특정 조건을 만족하는 요소들만 걸러내는 데 사용
# 기본 형태
filter(function, iterable)
  • `function`: 각 요소에 대해 평가할 조건을 정의하는 함수. 이 함수는 `True` 또는 `False`를 반환해야 한다.
  • `iterable`: 필터링할 대상, 즉 리스트, 튜플, 문자열 등 반복 가능한 객체.
  • 결과적으로 filter 조건을 만족하는 요소들만 포함된 필터 객체를 반환. 이 객체를 사용하려면 list() or tuple()로 감싸서 변환해야 한다.

'[업무 지식] > Algorithm' 카테고리의 다른 글

[remove] 제일 작은 수 제거하기  (0) 2024.12.23
[list comprehension] 음양 더하기  (0) 2024.12.19
[index] 서울에서 김서방 찾기  (0) 2024.12.18
[콜라츠 추측]  (0) 2024.12.18
[range] 두 정수 사이의 합  (0) 2024.12.17