문제

문제

 

처음 작성한 코드

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] 이렇게 쓰는 법은 알고 있었는데 뒤에 조건 붙여도 되는 것을 처음 알게되었다.

'Programmers' 카테고리의 다른 글

2016년  (0) 2020.12.29
같은 숫자는 싫어  (0) 2020.12.29
수박수박수박수박수박수?  (0) 2020.12.29
문자열 내 마음대로 정렬하기  (0) 2020.12.29
서울에서 김서방 찾기  (2) 2020.12.28