Python/Coding Test
[Coding Test] 나누어 떨어지는 숫자 배열
gangee
2023. 5. 17. 13:04
728x90
반응형
프로그래머스 코딩테스트 1단계 : 나누어 떨어지는 숫자 배열
문제 설명
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.
문제 풀이
- 문제 조건에 맞는 요소를 넣을 배열 answer 정의
- 반복문을 통해 arr 를 반복
- 조건문을 통해 i를 divisor로 나누었을 때 나머지가 0인 값(나누어 떨어지는 값)을 answer에 추가하고 반복문 끝냄
- 새로운 조건문을 통해 리스트의 길이가 0이면 리스트에 -1 추가
- 값을 오름차순으로 정렬하기 위해 sort()해줌 (혹은, sort(reverse=False) 해줌)
정답 코드
def solution(arr, divisor):
answer = []
for i in arr:
if i % divisor == 0:
answer.append(i)
if len(answer) == 0:
answer.append(-1)
anaswer.sort()
return answer
- 다른 사람 풀이
def solution(arr, divisor): return sorted([n for n in arr if n%divisor == 0]) or [-1]
- 반복문과 조건문을 한 줄로 표현해 바로 리스트를 만들어 정렬
- or을 사용해 예외의 경우를 표현
* 이 문제는 프로그래머스 코딩테스트 연습 1단계 문제입니다.
728x90
반응형