정렬에는 여러가지가 있지만 간단하게 버블정렬을 이용하여 풀었다.
처음에는 정렬만 하면 되는줄 알고 풀었는데 실패가 떠서 보니 중복까지 제거해줘야한다..
소스
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]);
}
}
}
입력을 받을 때 중복을 미리 제거하고, 그 다음 버블 정렬을 하였다.
'프로그래밍 > 백준알고리즘' 카테고리의 다른 글
백준 알고리즘 10250번 문제 풀이 - ACM 호텔 (0) | 2019.11.29 |
---|---|
백준 알고리즘 1026번 풀이 - 보물 (0) | 2019.09.25 |
백준 알고리즘 1003번 풀이 - 피보나치 함수 (0) | 2019.08.13 |
백준 알고리즘 2869번 문제 풀이 - 달팽이는 올라가고 싶다 (0) | 2019.08.13 |
백준 알고리즘 1193번 문제 풀이 - 분수 찾기 (0) | 2019.08.01 |