[PG12910] 나누어 떨어지는 숫자 배열
✏️ 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/프로그래머스

[PG12910] 나누어 떨어지는 숫자 배열

프로그래머스

🚩 문제 설명

https://programmers.co.kr/learn/courses/30/lessons/12910

 

코딩테스트 연습 - 나누어 떨어지는 숫자 배열

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

programmers.co.kr

PG12910

⏱️ 시간 복잡도
▪ arr의 배열의 크기가 N이라고 가정한다면, 시간복잡도는 O(N)에 해당한다.

◾ 주어지는 배열 중에서 특정 정수로 나누어 떨어지는 정수를 반환하는 문제

 

 

 


 

 

 

입출력

arr : 자연수를 담은 배열
divisor : 나누어 떨어지는 기준 정수
return ➡️ arr 배열에서 divisor로 나누어 떨어지는 정수들의 배열
arr divsor return
[5, 9, 7, 10] 5 [5, 10]
[2, 36, 1, 3] 1 [1, 2, 3, 36]
[3,2,6] 10 [-1]

 

 

 


 

 

 

📑 문제 풀이

with 파이썬 (Python)

def solution(arr, divisor):
    ans = []

    for i in arr:
        if i % divisor == 0:
            ans.append(i)

    if not ans:
        ans.append(-1)

    ans = sorted(ans)
    return ans

💬 Point

➡️  % 연산 사용

◾ arr 배열을 돈다.

◾ 만약 해당 요소가 divisor로 나누어 떨어진다면 ans 에 추가한다.

◾ ans가 비어있다면 -1 을 추가하여 리턴한다.

◾ ans는 오름차순으로 정렬되어야 하므로 sorted() 함수를 이용한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# 프로그래머스 나누어 떨어지는 숫자 배열 python 파이썬


 

728x90

'✏️ 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺 > 프로그래머스' 카테고리의 다른 글

[PG12903] 가운데 글자 가져오기  (0) 2021.11.29
[PG72411] 메뉴 리뉴얼  (0) 2021.11.29
[PG42889] 실패율  (0) 2021.11.24
[PG42586] 기능개발  (0) 2021.11.23
[PG12901] 2016년  (0) 2021.11.23