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
반응형