궁금증 연구소

안녕하세요. 궁금증연구소 입니다.

오늘 포스팅 주제는 "[파이썬]프로그래머스 나누어 떨어지는 숫자 배열" 입니다.

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제

음 어려운 문제는 아닌데요..

 

제출답변

저는 위와 같이 풀었는데, 다른사람의 풀이를 보니 좀 더 간단한 코드가 있더군요

 

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

위 코드였는데요.. 

일단 크게 or 앞과 뒤로 나뉘네요.

 

A or B 라는 논리식이있으면, A가 True라면 A가 A가 False라면 B가 리턴됩니다.

이를 이용해서, 위 코드의 sorted 의 매개변수인 리스트가 공백이면 False 이므로 0이 리턴되고 공백이 아니라면 True 가 되어 앞의 정렬된 리스트가 리턴됩니다.

 

빈 배열도 False

즉 빈배열이 False인 점을 이용한 코드라고 볼 수 있네요.

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading