Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
프로그래머스 - '나누어 떨어지는 숫자 배열' (PYTHON 풀이) 본문
문제:

자연수를 담은 배열이 주어지고 나눌 몫을 입력받을 때, 나누어 떨어지는 자연수만 배열에 오름차순으로 남긴 뒤 해당 배열을 출력하면 되는 문제이다. 이때 나눠 떨어지는 수가 1개라도 없다면 [-1]을 출력해야 한다.
풀이:
def solution(arr, divisor):
new_li = []
for i in arr:
if i % divisor == 0:
new_li.append(i)
if len(new_li) == 0:
return [-1]
else:
return sorted(new_li, reverse = False)
오름차순 정렬을 반영 새로운 리스트인 new_li를 선언하고, 반복문을 돈다.
자연수를 담은 arr 배열을 한개씩 돌면서, 입력 받은 divisor로 나눈 몫이 0이라면 나눠 떨어진 것이기 때문에 new_li에 해당 수를 더한다.
반복문을 전부 돌고 나면 new_li에 몫으로 나눠 떨어진 수만 남겨질 것이다. 이후 해당 리스트의 길이를 확인해서 0이면 -1을, 그렇지 않으면 sorted 함수를 활용해 오름차순 정렬을 한 뒤 리턴하면 된다.
여기서 주의할 점은 -1을 리턴할 때 리스트 형태여야 한다는 점이다. -1이 아닌 [-1]로 리턴해야 하는 것을 잊지 말자.
'CODING 💻' 카테고리의 다른 글
| 프로그래머스 - '나머지가 1이 되는 수 찾기' (PYTHON 풀이) (0) | 2026.05.07 |
|---|---|
| 프로그래머스 - '문자열 내 p와 y의 개수' (PYTHON 풀이) (0) | 2026.05.06 |
| 프로그래머스 - '음양 더하기' (PYTHON 풀이) (0) | 2026.05.04 |
| 프로그래머스 - '수박수박수박수박수박수?' (PYTHON 풀이) (0) | 2026.05.03 |
| 프로그래머스 - '제일 작은 수 제거하기' (PYTHON 풀이) (0) | 2026.05.02 |
