๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿš€ Algorithm/PGS

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ค‘์•™๊ฐ’ ๊ตฌํ•˜๊ธฐ (JAVA)

๐Ÿ’ก ๋ฌธ์ œ 


์ค‘์•™๊ฐ’์€ ์–ด๋–ค ์ฃผ์–ด์ง„ ๊ฐ’๋“ค์„ ํฌ๊ธฐ์˜ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ ์ค‘์•™์— ์œ„์น˜ํ•˜๋Š” ๊ฐ’์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 1, 2, 7, 10, 11์˜ ์ค‘์•™๊ฐ’์€ 7์ž…๋‹ˆ๋‹ค. ์ •์ˆ˜ ๋ฐฐ์—ด array๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ค‘์•™๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

 

์•Œ๊ณ ๋ฆฌ์ฆ˜:

Quick Sort ํ€ต ์ •๋ ฌ

 

์‹œ๊ฐ„ ๋ณต์žก๋„:

O(n log n)

 

 

 

๐Ÿ– ๋‚ด ๋‹ต์•ˆ


class Solution {
    public int solution1(int[] array) {
        Arrays.sort(array); // ์ •๋ ฌ
        int median = array.length / 2;
        int answer = array[median]; // ์ค‘์•™๊ฐ’ ๋ฐ˜ํ™˜
        return answer;
    }

    public int solution2(int[] array) {
        for (int i = 0; i < array.length-1; i++) { // ๋ฐฐ์—ด ์ •๋ ฌ
            int minIndex = i;
            for (int j = i+1; j < array.length; j++) {
                if (array[j] < array[minIndex]) {
                    minIndex = j;
                }
            }
            int temp = array[i];
            array[i] = array[minIndex];
            array[minIndex] = temp;
        }

        // ์ค‘์•™๊ฐ’ ๊ตฌํ•˜๊ธฐ
        int median = array.length / 2;
        int answer = array[median];
        return answer;
    }
}