✏️ 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/프로그래머스
[PG12910] 나누어 떨어지는 숫자 배열
yeomss
2021. 11. 30. 16:57
🚩 문제 설명
https://programmers.co.kr/learn/courses/30/lessons/12910
코딩테스트 연습 - 나누어 떨어지는 숫자 배열
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하
programmers.co.kr
⏱️ 시간 복잡도
▪ 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