Programmers | 코딩테스트 입문 - 중앙값 구하기, sort - sorted 함수 차이
2022. 12. 27. 17:28ㆍ카테고리 없음
프로그래머스 Lv.0 중앙값 구하기
문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
제한사항
- array의 길이는 홀수입니다.
- 0 < array의 길이 < 100
- -1,000 < array의 원소 < 1,000
JAVA
import java.util.Arrays;
class Solution {
public int solution(int[] array) {
Arrays.sort(array);
return array[array.length/2];
}
}
다른 사람 풀이
class Solution {
public int solution(int[] array) {
int answer = 0;
for (int i = 0; i < array.length; i++) {
for (int j = i; j < array.length; j++) {
if (array[j] < array[i]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
answer = array[array.length / 2];
return answer;
}
}
속도 및 크기 비교
java.util.Arrays 사용 | java.util.Arrays 미사용 |
테스트 1 〉 통과 (0.44ms, 75.2MB) 테스트 2 〉 통과 (0.48ms, 77MB) 테스트 3 〉 통과 (0.49ms, 78.4MB) 테스트 4 〉 통과 (0.59ms, 77.7MB) 테스트 5 〉 통과 (0.40ms, 73.2MB) 테스트 6 〉 통과 (0.37ms, 78.8MB) 테스트 7 〉 통과 (0.50ms, 75.3MB) 테스트 8 〉 통과 (0.54ms, 78.7MB) 테스트 9 〉 통과 (0.47ms, 74.9MB) |
테스트 1 〉 통과 (0.03ms, 75.9MB) 테스트 2 〉 통과 (0.02ms, 84.7MB) 테스트 3 〉 통과 (0.01ms, 67.9MB) 테스트 4 〉 통과 (0.02ms, 70.7MB) 테스트 5 〉 통과 (0.02ms, 72.9MB) 테스트 6 〉 통과 (0.15ms, 70.5MB) 테스트 7 〉 통과 (0.21ms, 75.2MB) 테스트 8 〉 통과 (0.20ms, 75.9MB) 테스트 9 〉 통과 (0.02ms, 76.1MB) |
Python3
def solution(array):
array.sort()
return array[len(array)//2]
다른 사람 풀이
def solution(array):
return sorted(array)[len(array) // 2]
배열.sort() : 반환값 없음, 해당 배열을 정렬해줌
sorted(배열) : 정렬된 새로운 배열을 반환해줌