나누어 떨어지는 숫자 배열
2024. 9. 4. 11:05ㆍ프로그래머스-코딩테스트/Lv.1
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.
코드
def solution(arr, divisor):
answer = []
for num in sorted(arr):
if num % divisor==0:
answer.append(num)
return [-1] if len(answer)==0 else answer
노트
for ~ if VS if ~ for
def solution(arr, divisor):
answer = sorted(num if num%divisor==0 for num in arr)
return -1 if len(answer)==0 else answer
print(solution([1,2,3,4], 2))
solution([1,3], 2)
# output
{
"name": "SyntaxError",
"message": "expected 'else' after 'if' expression (2740757652.py, line 2)",
"stack": " Cell In[16], line 2
answer = sorted(num if num%divisor==0 for num in arr)
^
SyntaxError: expected 'else' after 'if' expression
"
}
- if문을 for보다 먼저 쓰면 for문에 대해 else경우가 필요하다며 에러가 뜸
def solution(arr, divisor):
answer = sorted(num for num in arr if num%divisor==0)
return [-1] if len(answer)==0 else answer
print(solution([1,2,3,4], 2))
solution([1,3], 2)
# output
[2, 4]
[-1]
- for문을 if보다 먼저 쓰면 for문에 대해 if인 경우만 수행해줌
'프로그래머스-코딩테스트 > Lv.1' 카테고리의 다른 글
핸드폰 번호 가리기 (1) | 2024.09.04 |
---|---|
제일 작은 수 제거하기 (0) | 2024.09.04 |
없는 숫자 더하기 (0) | 2024.09.04 |
음양 더하기 (0) | 2024.09.04 |
콜라츠 추측 (0) | 2024.09.04 |