프로그래머스 코딩테스트 - 배열 중간값 구하기 (Array.sort , 시프트연산)

2023. 8. 25. 00:06·Etc/코딩 챌린지

문제

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

 

제한사항

 

풀이

import java.util.Arrays;

class Solution {
    public int solution(int[] array) {
        Arrays.sort(array);
        
        int size = array.length;
        int middle = Math.round(size/2);
        
       return array[middle];
        
    }
}

1. 배열 오름차순 정렬하는 Array.sort함수 사용하기 위해 java.util.Arrays를 import

2. 배열 오름차순 정렬 후 배열 크기를 size에 담고

3. 중간 인덱스를 구하기 위해 size를 2로 나눈 값을 middle에 담는다

4. array [middle]로 배열 중간값을 구해 return

* 제한사항에 따라 배열의 크기는 홀수이다.

 

다른 풀이

import java.util.Arrays;

class Solution {
    public int solution(int[] array) {
        Arrays.sort(array);       
       return array[array.length>>1];      
    }
}

- 시프트 연산으로 배열의 중간값을 바로 구해 더 간략하게 작성할 수 있다

 

* 예로 숫자 7을 2진수로 나타내면 00000111이며 >>1 만큼 이동했을 때 00000011로 십진수로 나타냈을 때 3이다.

* 배열 크기가 홀수일 때 >>1 시프트 연산을 사용하면 중간치를 구할 수 있음

 

실행결과

'Etc > 코딩 챌린지' 카테고리의 다른 글

VScode에서 프로젝트 Git Hub에 업로드하기 & 배포하기  (0) 2023.03.14
책으로 배우는 비전공자 코딩 챌린지 4일차 - HTML 태그와 특징(inline & box요소)  (0) 2022.11.24
책으로 배우는 비전공자 코딩 챌린지 3일차 - VSCode 확장 프로그램 추천  (0) 2022.11.23
책으로 공부하는 비전공자 코딩 챌린지 2일차 - HTML 구조와 코딩 상식  (0) 2022.11.23
책으로 공부하는 비전공자 코딩 챌린지 1일차 - 웹 용어와 HTML  (0) 2022.11.23
'Etc/코딩 챌린지' 카테고리의 다른 글
  • VScode에서 프로젝트 Git Hub에 업로드하기 & 배포하기
  • 책으로 배우는 비전공자 코딩 챌린지 4일차 - HTML 태그와 특징(inline & box요소)
  • 책으로 배우는 비전공자 코딩 챌린지 3일차 - VSCode 확장 프로그램 추천
  • 책으로 공부하는 비전공자 코딩 챌린지 2일차 - HTML 구조와 코딩 상식
시녜's
시녜's
성장중인 새싹 개발자 🌱
  • 시녜's
    개발기록
    시녜's
  • 전체
    오늘
    어제
    • 분류 전체보기
      • FE
        • React
        • javascript(jQuery)
        • HTML & CSS
      • BE
        • Java [Servlet , Spring]
        • C & C++
        • Node.js
        • node.js
        • SQL (Oracle, mysql)
      • CS
        • 프로그래밍 이론(정보처리기사)
      • OS
        • Linux
      • Etc
        • 코딩 챌린지
        • 개발 성장 일지
        • 코딩테스트
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    스프링
    자바조건문
    자바기초
    제이쿼리
    백준단계별문제
    코딩테스트
    백준문제풀이
    자바배열
    코딩기초
    jsp
    html
    코테기초
    자바문자열
    코딩테스트입문
    mysql
    CharAt함수
    백준코딩테스트
    자바
    자바스크립트
    javascript
    리액트
    코딩입문
    백준
    Java
    자바반복문
    프로그래밍
    React
    jquery
    코테
    백준브론즈
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
시녜's
프로그래머스 코딩테스트 - 배열 중간값 구하기 (Array.sort , 시프트연산)
상단으로

티스토리툴바