백준

    [Java] 백준 10814: 나이순 정렬

    import java.util.Scanner; import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); String[][] arr = new String[N][2]; for(int i = 0; i < N; i++) { arr[i][0] = in.next(); arr[i][1] = in.next(); } Arrays.sort(arr, new Comparator() public int compare(String[] s1, String[] s2) { retur..

    [Java] 백준 1181: 단어 정렬

    import java.util.Scanner; import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); String[] arr = new String[N]; in.nextLine();// 개행 버림 for (int i = 0; i < N; i++) { arr[i] = in.nextLine(); } Arrays.sort(arr, new Comparator() { public int compare(String s1, String s2) { if (s1.len..

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

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main { public static void main(String args[]) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = Integer.parseInt(br.readLine()); int[][] arr = new int[num][2]; for(int i = 0 ; i < num ; i++) { String[] str = br.re..

    [Java] 백준 1427: 소트인사이드

    import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); char[] arr = sc.nextLine().toCharArray(); Arrays.sort(arr); for(int i=arr.length-1;i>=0;i--){ System.out.print(arr[i]); } } } 자릿수별로 분리하는 문제에서는 %10을 이용하여 산술적으로 분리하는 방법도 있지만, 위 코드에서 사용한 것과 같이 toCharArray() 메소드를 이용하면 편리하게 분리할 수 있다. 내림차순으로 출력하려면 배열에 저장된 데이터들을 단순히 역순으로 출력해주기만 하면 된다. Ja..

    [Java] 백준 10989: 수 정렬하기 3

    우선 5초의 시간 제한이 있기 때문에 이 문제는 카운팅 정렬로 해결하라고 문제 설명에서 제시하고 있다. 또한 시간 초과를 방지하기 위해 BufferedReader와 StringBuilder를 사용하여 최대한 시간 단축을 유도하였다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException{ int[] cnt = new int[10001]; BufferedReader br = new BufferedReader(new InputStreamReader(System...

    [Java] 백준 2751: 수 정렬하기 2

    일반적인 풀이방법 --> 시간 초과가 발생한다. 아래 더보기를 통해 이유와 코드 확인하기. 더보기 내장 함수를 사용하라고 문제에 나와있지만 Arrays.sort()를 쓰면 시간초과가 발생한다. 이유는 Arrays.sort()는 dual-pivot 퀵 정렬을 사용하기 때문이다. 이 알고리즘은 최악의 경우 시간복잡도가 O(n^2)인 알고리즘이기 때문에 시간초과가 발생할 가능성이 높아지는 것이다. import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N]; for(int i=0; i

    [Java] 백준 25305: 커트라인

    import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N]; int k = sc.nextInt(); for(int i=0 ; i

    [Java] 백준 2587: 대표값2

    import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int[] arr = new int[5]; for(int i=0 ; i

    [Java] 백준 2750: 수 정렬하기

    import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N]; for(int i=0 ; i

    [Java] 백준 2563: 색종이

    import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[][] arr = new int[100][100]; int cnt=0; for(int i=0 ; i