코드 그라데이션
[Lv.0] 중앙값 구하기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/120811
문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다.
예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다.
정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
제한 사항
입출력 예
입출력 예 설명
아이디어
- 평균하고 중앙값하고는 크게 상관이 없다.
- 자바에서는 배열을 정렬해주는 스태틱 메서드를 제공한다.
- 이게 바로 Arrays.sort()
- 만약 리턴이 있다면, 배열을 정리했으니까 배열일 것이다.
- 그런데 배열도 사실 객체, 리턴이 없이도 원본을 바꿀 수가 있다.
- int로 전달을 하면 값이 복사되어서 넘어가니까 함수에서 아무리 지지고 볶아도 밖에 영향을 주지 않았는데, 배열은 객제이기 때문에 그냥 원본의 조작이 가능했지.
- 따라서 리턴을 따로 해주지 않고 이 메서드만 달랑 써줘도 원본이 저장이 될 거다.
- 중앙값은 모든 원소의 가운데 값. => 나누기 2
나의 답안
import java.util.*;
class Solution {
public int solution(int[] array) {
Arrays.sort(array);
int index = array.length/2;
return array[index];
}
}
728x90
'Java > 알고리즘' 카테고리의 다른 글
[Lv.0] 원하는 문자열 찾기 (0) | 2023.05.27 |
---|---|
[Lv.0] (2문제) 정수 찾기, 정수 부분 (0) | 2023.05.27 |
[Lv.0] 첫 번째로 나오는 음수 (0) | 2023.05.25 |
[Lv.0] 길이에 따른 연산 (0) | 2023.05.25 |
[Lv.0] (2문제) 소문자로 바꾸기, 대문자로 바꾸기 (0) | 2023.05.25 |
Comments