본문 바로가기
Algorithm/프로그래머스

[프로그래머스] Lv1 - 나누어 떨어지는 숫자 배열 (파이썬)

by _temp 2022. 3. 20.

https://programmers.co.kr/learn/courses/30/lessons/12910

 

코딩테스트 연습 - 나누어 떨어지는 숫자 배열

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하

programmers.co.kr

 

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

 

풀이
1. answer = divisor로 나누어 떨어지는 x만 담은 리스트를 정렬한 리스트
    - 단 해당 리스트가 비어 있다면 [-1]
2. answer 반환

 

기본적으로 or은 앞의 값이 True이면 뒤의 값을 계산하지 않는다.

대입 연산자에서 or을 사용할 경우 앞의 값이 비어 있다면(False 라면) 뒤의 값을 대입해주게 된다.

자바스크립트로 프로젝트를 했었을 때, 가끔 썼던 스킬이다.