[프로그래머스] Java 코딩테스트 - 중앙값 구하기

yihyun·2025년 4월 5일

코딩테스트

목록 보기
48/105

중앙값 구하기

✅ 문제 설명

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

✅ 제한사항

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

🔽 소스코드 1 (Arrays.sort() 사용)

💻 풀이

  • Arrays.sort() 를 사용해 배열을 오름차순으로 정렬한 후
  • 인덱스 중앙 값을 return 해주었다.

※ 이 문제는 배열이 홀수로만 존재한다는 제한조건이 있기 때문에 가능한 방법이다.

시간 0.33ms ~0.52 ms

	public int solution(int[] array) {
		
		Arrays.sort(array);
		
		return array[array.length / 2];
	}

🔽 소스코드 2 (배열이 짝수도 존재할 경우)

💻 풀이

  • 배열이 짝수도 존재하는 경우도 생각하고 문제를 풀어보았다.
  • 짝수가 존재할 경우 중앙 인덱스 값과 중앙 바로 앞에 있는 인덱스의 값을 더해 2로 나누어 주는 방식으로 풀어보았다.
	public int solution1(int[] array) {
		
		Arrays.sort(array);
		
        // 배열의 길이가 짝수일 경우
		if(array.length % 2 == 0) {
			return (array[array.length / 2] + array[array.length / 2 - 1] / 2);
			
		}else {
			return array[array.length / 2];
		}
	}
profile
개발자가 되어보자

0개의 댓글