본문 바로가기
코딩테스트/프로그래머스 기초

[코딩테스트 Lv.0] 뒤에서 5등까지

by 블루데이제이 2024. 8. 9.
728x90
반응형
문제 설명

정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

제한사항
● 6 ≤ num_list의 길이 ≤ 30
● 1 ≤ num_list의 원소 ≤ 100
입출력 예
num_list			result
[12, 4, 15, 46, 38, 1, 14]	[1, 4, 12, 14, 15]
입출력 설명
입출력 예 #1
[12, 4, 15, 46, 38, 1, 14]를 정렬하면 [1, 4, 12, 14, 15, 38, 46]이 되고, 앞에서 부터 5개를 고르면 [1, 4, 12, 14, 15]가 됩니다.

내 풀이
Java
import java.util.*;
class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[5];
        
        Arrays.sort(num_list);
        
        for(int i = 0; i < 5; i++){
            answer[i] = num_list[i];
        }
        
        return answer;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// num_list_len은 배열 num_list의 길이입니다.
int* solution(int num_list[], size_t num_list_len) {
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    int* answer = (int*)malloc(sizeof(int) * num_list_len);
    int i = 0, j = 0;
    for(i = 0; i < num_list_len - 1; i++){
        for(j = i + 1; j < num_list_len; j++){
            int tmp = 0;
            if(num_list[i] > num_list[j]){
                tmp = num_list[j];
                num_list[j] = num_list[i];
                num_list[i] = tmp;
            }
        }
    }
    
    for(i = 0; i < 5; i++){
        answer[i] = num_list[i];
    }
    
    return answer;
}
Python
def solution(num_list):
    answer = []    
    num_list.sort()    
    return num_list[:5]

https://school.programmers.co.kr/learn/courses/30/lessons/181853

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

728x90
반응형