본문 바로가기

코딩테스트/Python

[프로그래머스] 나누어 떨어지는 숫자 배열

내 코드

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

나누어 떨어지는 것만 리스트로 만들어서 길이가 0이 아니면 정렬된 값 반환, 0이면 -1을 반환하였다.

 

다른 사람 코드

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

새로운 문법.,,, or,, or을 저렇게 쓰면 앞쪽 값이 False인 경우 or 뒤쪽의 값을 출력하고 True면 or앞쪽의 값을 출력한다.

빈리스트는 False이다!!!