하루에 하나-8

정인창·2021년 9월 20일
0

코딩테스트 연습

목록 보기
8/19

def solution(arr, divisor):
    answer = [i for i in arr if i % divisor == 0]
    if answer == []:
        answer = [-1]
    answer.sort()
    return answer
  • 임의의 정수 i, j에 대해 i != j라면 arr[i] != arr[j] 이므로 중복되는 숫자는 없습니다.
  • list comprehension을 이용해서 divisor로 나눠 떨어지는 경우만 append 해줬고
  • 혹시 아무런 원소도 없다면 answer에 [-1]을 담아주고
  • 오름차순으로 정렬해야 하므로 리스트 메소드 .sort()를 이용해서 정렬한 결과를 Return!

훨씬 간결한 풀이도 있습니다. or 앞이 False라면 뒤까지 호출.
비어있는 리스트[]의 bool은 False입니다. 따라서 divisor로 나눠 떨어지는 숫자가 하나도 없다면
리스트는 비어있게 되므로 [-1]을 return하게 됩니다!

profile
Data science

0개의 댓글