๊ด€๋ฆฌ ๋ฉ”๋‰ด

โœ๐Ÿป๊ธฐ๋กํ•˜๋Š” ๋ธ”๋กœ๊ทธ

[์ •๋ ฌ] ๋ฒ„๋ธ”์ •๋ ฌ ( Bubble Sort ) ๋ณธ๋ฌธ

์•Œ๊ณ ๋ฆฌ์ฆ˜

[์ •๋ ฌ] ๋ฒ„๋ธ”์ •๋ ฌ ( Bubble Sort )

์ฉ์‹œํ‚ด 2020. 10. 25. 18:20
728x90

๋ฒ„๋ธ” ์ •๋ ฌ ( Bubble Sort )

์ถœ์ฒ˜) https://www.studytonight.com/data-structures/bubble-sort

๋ฐฐ์—ด์—์„œ ๋‘ ๊ฐœ์˜ ๊ฐ’์„ ์žก๊ณ  ์„œ๋กœ ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๋ฉด์„œ ์ž‘์€ ๊ฐ’์„ ์•ž์œผ๋กœ ํฐ ๊ฐ’์„ ๋’ค๋กœ ํฌ๊ธฐ๋ฅผ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ฐฐ์—ด์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ง€๋‚˜๋ฉด์„œ ์ •๋ ฌํ•˜๋ฏ€๋กœ O(n์ œ๊ณฑ)์‹œ๊ฐ„์ด ์†Œ์š”๋จ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ •๋ ฌ > k๋ฒˆ์งธ์ˆ˜

import java.util.*;

class Solution {
    public int[] solution(int[] array, int[][] commands) {
    int[] answer = new int[commands.length];

        for(int i=0; i<commands.length; i++){

            int[] temp = commands[i];
            int start = temp[0]-1;
            int end = temp[1];

            List<Integer> arrList = new ArrayList<Integer>();

            for(int j=start; j<end; j++){
                System.out.println(array[j]);
                arrList.add(array[j]);
            }

            int[] result = new int[arrList.size()];

            for(int k=0; k<arrList.size(); k++){
                result[k] = arrList.get(k);
            }

            Arrays.sort(result);
            answer[i] = result[temp[2]-1];  
        
        }
    
      return answer;
    }
}

๋ณด์ถฉ

Arrays.copyOfRange(์›๋ณธ ๋ฐฐ์—ด, ๋ณต์‚ฌํ•  ์‹œ์ž‘ ์ธ๋ฑ์Šค, ๋ณต์‚ฌํ•  ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค);

์œ„์˜ ํ’€์ด๋ฅผ copyOfRange๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•„์š”ํ•œ ๋ฐฐ์—ด๋งŒ ์ƒˆ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

copyOfRange๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•ด์ง„ ํ’€์ด

import java.util.*;

class Solution {
    public int[] solution(int[] array, int[][] commands) {
  
    int[] answer = new int[commands.length];
    
	for(int i=0; i<commands.length; i++){
       int[] temp = Arrays.copyOfRange(array, commands[i][0]-1, commands[i][1]);
       Arrays.sort(temp);
       answer[i] = temp[commands[i][2]-1];
    }
      return answer;
    }
}
728x90
๋ฐ˜์‘ํ˜•