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

[코딩테스트 Lv.0] 중앙값 구하기

by 블루데이제이 2023. 12. 22.
728x90
반응형

중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.

제한사항

array의 길이는 홀수입니다.
0 < array의 길이 < 100
-1,000 < array의 원소 < 1,000

 

입출력 예

array			result
[1, 2, 7, 10, 11]	7
[9, -1, 0]		0

 

입출력 예 설명

입출력 예 #1
본문과 동일합니다.

입출력 예 #2
9, -1, 0을 오름차순 정렬하면 -1, 0, 9이고 가장 중앙에 위치하는 값은 0입니다.

 


 

내 풀이

[Java]

import java.util.*;
class Solution {
    public int solution(int[] array) {
        int answer = 0;
        Arrays.sort(array);
        return array[array.length / 2];
    }
}

class Solution {
    public int solution(int[] array) {
        int answer = 0;
        int temp = 0;
        for(int i = 0; i < array.length; i++){
            for(int j = 0; j < array.length - 1; j++){
                if(array[i] > array[j]){
                    temp = array[j];
                    array[j] = array[i];
                    array[i] = temp;
                }
            }
        }
        
        return array[array.length / 2];
    }
}

[C]

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// array_len은 배열 array의 길이입니다.
int solution(int array[], size_t array_len) {
    int answer = 0;
    int i, j, temp = 0;
    for(i = 0; i < array_len; i++){
        for(j = 0; j < array_len - 1; j++){
            if(array[i] > array[j]){
                temp = array[j];
                array[j] = array[i];
                array[i] = temp;
            }
        }
    }
    return array[array_len / 2];
}

 

[Python]

def solution(array):
    answer = 0
    array.sort()
    
    return array[len(array) // 2]

 


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

 

프로그래머스

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

programmers.co.kr

 

728x90
반응형