⌨️ Code Taka/Python

[프로그래머스] 나누어 떨어지는 숫자 배열

ny:D 2024. 5. 30. 11:34

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제

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

 

제한사항

  • arr은 자연수를 담은 배열입니다.
  • 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.
  • divisor는 자연수입니다.
  • array는 길이 1 이상인 배열입니다.

입출력의 예

arr divisor return
[5, 9, 7, 10] 5 [5, 10]
[2, 36, 1, 3] 1 [1, 2, 3, 36]
[3,2,6] 10 [-1]

 

🍀 Solution

def solution(arr, divisor):
    answer = []
    for i in arr:
        if i%divisor== 0:
            answer.append(i)
            
    if len(answer)==0:
        answer.append(-1)
        
    return sorted(answer)

 

🐧 풀이

  • arr에서 수를 하나씩 뽑아 divisor로 나누어 떨어지는 지 판정하고, 나누어떨어진다면 answer에 추가한다.
  • answer가 비어있으면(answer의 길이가 0이면) answer에 -1을 넣는다.
  • 오름차순 정렬된 answer, `sorted(answer)`를 반환한다.

🖨️ 결과