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줄 정도로 끝나지만 저렇게 숏코딩을 연습하다보면 자잘자잘한 시간을 줄일 수 있어 참 좋은 것 같다.