Lv1. 연습문제 - 나누어 떨어지는 숫자 배열




필자는 짧은 코딩을 좋아하는 이유로 Python을 좋아하는데, 이 문제는 그러한 문제의 대표적인 문제 중 하나였다! 로직은 무척 간단하다.



arr 에서 divisor로 나눈 나머지가 0이면 추가한 다음 sort하여 return



소스코드는 다음과 같다.

def solution(arr, divisor):
    return sorted([x for x in arr if not x % divisor]) or [-1]


혹시 코드가 복잡해보일 수 있어 저 코드를 풀어보면

if x % divisor == 0  경우
-> arr을 순회하며 divisor로 나눈 나머지가 0 x가 list에 들어간다.

or ->  의미는 앞에 문장이 실행되지 않았을 때다!
, x % divisor == 0  x가 arr에 없었다는 것이므로, [-1] return


사실 풀어써도 6~7줄 정도로 끝나지만 저렇게 숏코딩을 연습하다보면 자잘자잘한 시간을 줄일 수 있어 참 좋은 것 같다.


나누어 떨어지는 숫자 배열 Github에서 보기