PROGRAMMERS Python Lv1. 나누어 떨어지는 숫자 배열
이번 문제는 나누어 떨어지는 숫자 배열이다.
나의 정답코드는 아래와 같다.
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 식으로 표현할 수 있게 열심히 해야겠다.
혹시 제 풀이에 오류가 있거나
더 좋은 방법이 있다면 댓글 남겨주시면 감사드립니다.
댓글남기기