프로그래밍/백준알고리즘
백준 알고리즘 2750번 풀이 - 수 정렬하기[버블정렬]
밍구몬
2019. 9. 25. 13:18
정렬에는 여러가지가 있지만 간단하게 버블정렬을 이용하여 풀었다.
처음에는 정렬만 하면 되는줄 알고 풀었는데 실패가 떠서 보니 중복까지 제거해줘야한다..
소스
import java.util.Scanner;
public class Main {
public static void main(String args[]){
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int m;
int tmp;
boolean flag=false;
int[] arr = new int[n];
int k=0;
for(int i=0;i<n;i++,k++){
m=s.nextInt();
arr[i]=m;
for(int j=0;j<i;j++){ //중복제거
if(arr[j]==arr[i]){
k--;
break;
}
}
}
for(int i=0;i<n-1;i++){
for(int j=1;j<n;j++){
if(arr[j-1] > arr[j]){
tmp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = tmp;
flag=true;
}
}
if(!flag) break;
}
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
입력을 받을 때 중복을 미리 제거하고, 그 다음 버블 정렬을 하였다.