Programmers

나누어 떨어지는 숫자 배열

h32j00 2020. 12. 29. 01:49

문제

문제

 

처음 작성한 코드

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

 

코드 리뷰 후

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

 

깨달은 점

파이썬은 return 할 때, return A or B 이런 식으로 쓸 수 있다. 참이면 A 아니면 B를 return 해준다. 신기하다.

리스트 관련해서 [i for i in arr] 이렇게 쓰는 법은 알고 있었는데 뒤에 조건 붙여도 되는 것을 처음 알게되었다.