PROGRAMMERS Python Lv1. 나누어 떨어지는 숫자 배열

최대 1 분 소요

이번 문제는 나누어 떨어지는 숫자 배열이다.

나의 정답코드는 아래와 같다.

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

이 문제는 간단하게 for문을 통해 arr의 원소들이

divisor로 나누어지면 answer에 append하고.

answer가 비어있는 리스트일 때 -1을 출력하게 하면 된다.

이 문제를 보고나서 저번처럼 return에 한 줄로 표현할 수 있겠다

싶었지만 다른 사람의 풀이로 공부하기로 했다.

install complete

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

이 답에서 or는 앞의 조건이 참이 아닐 경우 출력해준다고 한다.

이러한 간단한 문제들은 앞으로도 lambda 식으로 표현할 수 있게 열심히 해야겠다.

혹시 제 풀이에 오류가 있거나

더 좋은 방법이 있다면 댓글 남겨주시면 감사드립니다.

댓글남기기