import java.util.*;
class Main {
public int[] solution(int n,int[] arr) {
for(int i=0; i<n-1;i++) {
for(int j=0; j<n-i-1;j++) {
if(arr[j] > arr[j+1]) {
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
return arr;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] arr = new int[n];
for(int i=0; i<n; i++) arr[i] = kb.nextInt();
for(int x : T.solution(n,arr)) System.out.print(x + " ");
}
}
i문을 통해 젤 n-1번만큼 for문이 돌고,(자료가5개라면 4바퀴)
j문을 통해 0~n-1, 0~n-2, 0~n-3 ... 계속돈다.
j문이 한바퀴 돌때마다 arr의 마지막값에는 arr에서 가장 큰 값이 담긴다.
그렇기때문에 다음바퀴를 돌때는 끝값이 1씩 줄어들어서 돌게된다.
j문이 n-1번돌고나면 배열이 전부 탐색되고 오름차순으로 정렬이된다.
뭔가 sliding window와 비슷한거같으면서도 다르다.
계속 이웃한 값과 비교하면서 연쇄적으로 값을 정렬해서 버블정렬!
기억해두자!