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 라면) 뒤의 값을 대입해주게 된다.
자바스크립트로 프로젝트를 했었을 때, 가끔 썼던 스킬이다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv1 - 문자열 내 마음대로 정렬하기 (파이썬) (0) | 2022.03.21 |
---|---|
[프로그래머스] Lv1 - 두 정수 사이의 합 (파이썬) (0) | 2022.03.21 |
[프로그래머스] Lv1 - 같은 숫자는 싫어 (파이썬) (0) | 2022.03.20 |
[프로그래머스] Lv1 - 가운데 글자 가져오기 (파이썬) (0) | 2022.03.20 |
[프로그래머스] Lv1 - 부족한 금액 계산하기 (파이썬) (0) | 2022.03.20 |