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