나누어 떨어지는 숫자 배열 - Python
2023. 10. 11. 09:44ㆍ공부/📝 프로그래머스
1. 풀이 코드
def solution(arr, divisor):
answer = [item for item in arr if item % divisor == 0]
return sorted(answer) if len(answer) > 0 else [-1]
# Test Cases
print(solution([5, 9, 7, 10], 5))
print(solution([2, 36, 1, 3], 1))
print(solution([3, 2, 6], 10))
위와 같이 풀었습니다.
2. 다른 사람의 풀이 코드
def solution(arr, divisor): return sorted([n for n in arr if n%divisor == 0]) or [-1]
저는 if()를 통해 값을 리턴했는데, 위의 코드를 보고 찾아보니까 or을 사용하면 if()를 안 쓸 수 있더군요. 앞의 값이 거짓이면 뒤의 값을 반환하는데, 앞의 경우 리스트의 길이가 0이면 거짓이 되니 [-1]이 반환되는 겁니다. 재밌습니다.
'공부 > 📝 프로그래머스' 카테고리의 다른 글
가운데 글자 가져오기 - Python (0) | 2023.10.13 |
---|---|
제일 작은 수 제거하기 - Python (0) | 2023.10.11 |
음양 더하기 - Python (0) | 2023.10.11 |
두 정수 사이의 합 - Python (0) | 2023.10.07 |
정수 내림차순으로 배치하기 - Python (0) | 2023.10.07 |