Python/알고리즘 문제 풀이
[코테] 나누어 떨어지는 숫자 배열
마이구미+
2023. 6. 20. 08:35
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
<로직 고민/>
- 아 너무 쉬운 방법밖에 안 떠오르는데..
- arr를 for문에 돌려서 하나씩 divisor랑 %로 연산해서 0 나오면 answer 배열에 넣어주고 아니면 말고
- for문 다 돌고 answer가 빈 리스트면 -1 넣어주고
- 그 다음엔 sorted(answer)나 answer.sort() 해주고 그럼 끝 아닌가...?
<완성된 코드/>
def solution(arr, divisor):
answer = []
for num in arr:
if num % divisor == 0:
answer.append(num)
if answer == []:
answer.append(-1)
answer.sort()
return answer
<다른 사람 풀이/>
- 천재풀이1
def solution(arr, divisor): return sorted([n for n in arr if n%divisor == 0]) or [-1]
- 이게 뭐여...
- 9줄을 1줄로 만드네...
- 인간풀이2
def solution(arr, divisor):
answer = []
for i in arr:
if i % divisor == 0:
answer.append(i)
if not answer:
answer = [-1]
answer.sort()
return answer
- 나랑 방식은 똑같은데 8번째 줄이 if not answer 여서 가져와봤다
- 이렇게도 쓸 수 있군...!!