Algorithm/Programmers

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

느낌표 공장장 2021. 4. 11. 18:21
def solution(arr, divisor):
    answer = []
    for i in arr :
        if (i % divisor) == 0 :
            answer.append(i)
    if answer == [] :
        answer.append(-1)
        
    return sorted(answer)

arr에서 하나씩 받아와 divisor로 나누어 떨어지면 answer 리스트에 추가해주는 형식.

그러나 answer이 비어있다면 -1을 추가해 반환하는 형식이다.


다른 분들의 풀이 ! 

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

return에서 or을 사용할 수 있다 ! ! 앞의 식이 거짓이면 or 뒤의 식을 반환한다.([-1])

만약 리스트 안에 아무것도 없다면 False이므로 [-1]을 반환하게 된다.

'Algorithm > Programmers' 카테고리의 다른 글

[Python] 문자열 내 마음대로 정렬하기  (0) 2021.04.11
[Python] 문자열 내 p와 y의 개수  (0) 2021.04.11
[Python] 두 정수 사이의 합  (0) 2021.04.07
[Python] K번째수  (0) 2021.04.07
[Python] 같은 숫자는 싫어  (0) 2021.04.06