Python_나누어 떨어지는 숫자 배열

김보람·2022년 4월 15일
0

Python

목록 보기
17/39

<문제>

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.

<풀이>

def solution(arr, d):
    a = []
    for i in arr:
        if i % d  == 0:
            a.append(i)
    if a == []:
        return [-1]
    else:
        return sorted(a)

<다른 풀이>

방법 1.
def solution(arr, divisor):
    arr = [x for x in arr if x % divisor == 0];
    arr.sort();
    return arr if len(arr) != 0 else [-1];
방법 2.
def solution(arr, divisor): 
	return sorted([n for n in arr if n%divisor == 0]) or [-1]

<느낀점>

for문을 여러번 돌리면 시간효율성 측면에서 떨어진다. for문을 최소한을 쓰자.

profile
starry_developer

0개의 댓글