본문 바로가기

2021 파이썬 챌린지

2021.07.03 3일차 문제 예시답안

  • 나누어 떨어지는 숫자 배열

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.제한사항

  • arr은 자연수를 담은 배열입니다.
  • 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.
  • divisor는 자연수입니다.
  • array는 길이 1 이상인 배열입니다.
def solution(arr, divisor):
    li = sorted([i for i in arr if i % divisor == 0]) 
    # 먼저 조건에 맞는 리스트를 만들고 sorted로 정렬한다
    if not(li):
        return [-1]
    # li가 맞는 조건이 없어서 빈 리스트일 때 [-1]을 반환한다
    return li
def solution(arr, divisor): # 위의 걸 줄였다
    return sorted([i for i in arr if i % divisor == 0]) or [-1]
def solution(arr, divisor): # arr2를 써서 구현했다 
    arr2 = []
    for i in arr:
        if i % divisor == 0:
            arr2.append(i)
    if len(arr2) == 0:
        arr2.append(-1)
    return sorted(arr2)

 

'2021 파이썬 챌린지' 카테고리의 다른 글

2021.07.04 4일차 문제 예시답안  (0) 2021.07.05
2021.07.04 4일차 문제  (0) 2021.07.04
2021.07.03 3일차 문제  (0) 2021.07.03
2021.07.02 2일차 문제 예시답안  (0) 2021.07.03
2021.07.02 2일차 문제  (0) 2021.07.02