[백준] 11650 : 좌표 정렬하기 - JAVA

Benjamin·2022년 12월 30일
0

BAEKJOON

목록 보기
30/70

문제분석

N의 최대가 100,000이므로 O(nlogn)의 알고리즘을 쓰면, O(10^6*5.xx)이므로 가능할것으로 판단된다.
-> 자바의 대부분 정렬알고리즘이 O(nlogn)

제출코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
import java.io.IOException;
import java.util.Arrays;

public class Main {
public static int[][] A;
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(br.readLine()); 
		A = new int[N][2];
		for(int i=0; i<N; i++) {
			StringTokenizer st = new StringTokenizer(br.readLine());
			A[i][0] = Integer.parseInt(st.nextToken());
			A[i][1] = Integer.parseInt(st.nextToken());
		}
		Arrays.sort(A,(o1, o2) -> {
			if(o1[0] == o2[0]) {
				return Integer.compare(o1[1],o2[1]);
			} else {
				return Integer.compare(o1[0], o2[0]);
			}
		});
		for(int i=0; i<N; i++) {
			System.out.println(A[i][0] + " " + A[i][1]);
		}
	}
}

공부한 사항

  • 람다식

0개의 댓글