Coding Test

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

hyungminjeon 2024. 6. 13. 22:15

[문제]

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

[해결]

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

[정리 및 새롭게 알게 된 점]

1. 주어진 arr 배열을 for 문을 이용하여 loop를 돌리고 arr 원소가 divisor로 나누어 지는 경우 answer 리스트에 원소를 추가하였다. 

2. 만약 arr 원소 i 가 divisor로 나누어 지는 경우가 없다면 answer 리스트에 -1을 넣어주었다.

 

[다른 풀이]

def solution(arr, divisor): 
    return sorted([n for n in arr if n%divisor == 0]) or [-1]

list comprehension을 이용하여 n이 divisor로 나누어지는 경우 리스트에 n을 추가하고 sort해주고, 만약 해당 리스트가 빈 리스트라면 [-1]을 리턴해준다.