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

나누어 떨어지는 숫자 배열

  • 사전지식
    • or
  • or 앞에 것이 참이면 앞에게 수행이되고 거짓이면 뒤에 것이 수행된다.
[i for i in range(1,10) if i%2==0] or [-1]
[2, 4, 6, 8]

2로 나뉘어지는 숫자들이 존재해서 2,4,6,8이 출력되었다.

[i for i in range(1,10) if i%11==0] or [-1]
[-1]

11로 나누어 떨어지는 숫자가 없기 때문에 뒤에 값인 -1이 출력되었다.


나의 풀이

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

다른사람 풀이

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

  • 고수들이 참 많다.ㅎㅎ

Comments