람다식을 이용하여 해결하는 문제
람다식을 모를 때 선택정렬을 이용하여 풀었다가 시간초과가 돼버렸다...
결국 인터넷을 검색해서 풀 수 밖에 없었다.
참고링크 : https://st-lab.tistory.com/110
위의 블로그에 자세히 설명되어있다.
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int point[][] = new int[N][2];
for(int i=0; i<N; i++) {
point[i][0]=sc.nextInt();
point[i][1]=sc.nextInt();
}
Arrays.sort(point,(e1,e2)->{
if(e1[0]==e2[0]) {
return e1[1]-e2[1];}
else {
return e1[0]-e2[0];}
});
for(int i=0; i<N; i++) {
System.out.println(point[i][0]+" "+point[i][1]);
}
}
}
가끔 자바에서 오버로드와 오버라이드의 차이점을 헷갈릴 때가 있다.
람다식을 이용하지 않고 풀어보려 했는데 잘 되지 않았다...다른 방식으로 풀려면 c언어를 이용해야될듯.