🚩 문제 설명
https://programmers.co.kr/learn/courses/30/lessons/12910
⏱️ 시간 복잡도
▪ 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 |