내 맘대로 알고리즘

백준2750번, 수 정렬하기

Q.



Input. 


Output.






내가 생각한 방법.

소팅하는 것은 최고의 방법.
하지만, 나는 Comparator를 잘 활용하고 싶은 개발자가 되고 싶다.

그래서 Integer.compare()를 사용해서 더 깔끔하게 코딩 하려고 했는데
어떤 개념인지 알기 위해서

return (o1<o2) ? -1 : ((o1==o2)?0 : 1);

3항 연산자를 그대로 작성함.
이렇게 하니까 통과.

하루에 한 번, 알고리즘 공부를 하면
3개월 후에는 지금처럼 후회하고 있지는 않겠지.



import java.util.ArrayList;

import java.util.Comparator;

import java.util.Scanner;


public class Main {

public static void main(String[] args) 

{

Scanner scanner = new Scanner(System.in);

ArrayList<Integer> arrayList = new ArrayList();

int numberOfFor=scanner.nextInt();

for(int i=0; i<numberOfFor; i++) 

{

int temp_num = scanner.nextInt();

arrayList.add(temp_num);

}

Main ascendingAlgorithm = new Main();

ArrayList<Integer> sortingCompletedArray = ascendingAlgorithm.makeAscendingArray(arrayList);

for(int i=0; i<sortingCompletedArray.size(); i++) 

{

System.out.println(sortingCompletedArray.get(i));

}

}

private ArrayList<Integer> makeAscendingArray(ArrayList<Integer> _arrayList) 

{

_arrayList.sort(new Comparator<Integer>() {

@Override

public int compare(Integer o1, Integer o2) {

return (o1<o2) ? -1 : ((o1==o2)?0 : 1);

}

});

return _arrayList;

}

}



2750번

수 정렬하기

https://www.acmicpc.net/problem/2750