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

[코딩테스트 Lv.0] 뒤에서 5등 위로

by 블루데이제이 2024. 8. 1.
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, 56, 32, 10]	[15, 32, 38, 46, 56]
입출력 설명
입출력 예 #1
[12, 4, 15, 46, 38, 1, 14, 56, 32, 10]를 정렬하면 [1, 4, 10, 12, 14, 15, 32, 38, 46, 56]이 되고, 앞에서 부터 6번째 이후의 수들을 고르면 [15, 32, 38, 46, 56]가 됩니다.

내 풀이
Java
import java.util.*;
class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[num_list.length - 5];
        
        Arrays.sort(num_list);
        int k = 0;
        for(int i = 5; i < num_list.length; i++){
            answer[k++] = 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, j;
    for(i = 0; i < num_list_len; 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;
            }
        }
    }
    int k = 0;
    for(i = 5; i < num_list_len; i++){
        answer[k++] = num_list[i];
    }
    answer[k] = '\0';
    return answer;
}
Python
def solution(num_list):
    answer = []
    
    num_list.sort()    
    answer = num_list[5:]
    
    return answer

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

 

프로그래머스

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

programmers.co.kr

 

728x90
반응형