문제 설명
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.
첫 코드
def solution(arr, divisor):
answer = []
for i in range(0, len(arr)):
if arr[i] % divisor == 0:
answer.append(arr[i])
if len(answer) == 0:
answer.append(-1)
answer = sorted(answer)
return answer
개선된 코드
def solution(arr, divisor):
answer = [arr[i] for i in range(len(arr)) if arr[i] % divisor == 0]
if answer:
return sorted(answer)
return [-1]
answer의 값이 하나라도 있다면, True로 인식하는 것을 이용하여, 코드를 간략하게 만들 수 있었다.
'알고리즘 > 프래그래머스 lv.1' 카테고리의 다른 글
2016년 (0) | 2022.10.19 |
---|---|
완주하지 못한 선수 (0) | 2022.10.19 |
하샤드 수 (0) | 2022.10.19 |
k 번째 수 (0) | 2022.10.19 |
핸드폰 번호 가리기 (0) | 2022.10.19 |