코딩28 [백준/BAEKJOON] 2742번 찍기 N JAVA 1. 자연수 N을 입력받는다. 2. for 문을 돌면서 한 줄씩 자연수 N을 감소하며 출력한다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.close(); for (int i = n; i > 0; --i) { System.out.println(i); } } } 2021. 9. 6. [백준/BAEKJOON] 2741번 N 찍기 JAVA 1. N에 입력받을 만큼의 수를 입력한다. 2. while문을 돌면서 N의 수만큼 출력한다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); br.close(); int i = 1; while(i 2021. 8. 18. [백준/BAEKJOON] 10950번 A + B - 3 JAVA 1. a에 테스트 케이스를 몇 번 설정할 것인지 입력한다. 각각의 b,c 를 입력받아 b + c 테스크 케이스만큼 출력한다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a; a = sc.nextInt(); int b; int c; for(int i = 0; i < a; i++) { b = sc.nextInt(); c = sc.nextInt(); System.out.println(b + c); } } } 2021. 8. 17. [백준/BAEKJOON] 10989번 수 정렬하기3 JAVA 1. Arrays.sort 방법으로 풀기 2. Arrays.sort 를 사용하지 않고 카운팅정렬을 사용하는 방법이다. 자세한 것은 코드를 보면서 이해하면 된다. 참고로 시간복잡도는 O(N + K) 이다. K는 자릿수를 의미하는데 입력데이터가 K 보다 훨 씬 큰경우. 즉 데이터가 많으면 많을 수록 O(N) 에 가깝기 때문에 이상적으로는 O(N) 이라고 보아도 무방하다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { // 수의 범위 (0 ~ 1000.. 2021. 8. 14. [백준/BAEKJOON] 2751번 수 정렬하기2 JAVA 1. 이 문제는 Arrays.sort 로 풀면 시간초과가 난다. (위는 Java8 기준이다. 참고로 자바의 버전마다 조금씩 다르기 때문에 다른 버전으로 제출하면 통과될 수 있다.) Arrays.sort() 의 경우 dual-pivot Quicksort 알고리즘을 사용한다고 했다. 물론 평균 시간복잡도가 O(nlogn) 이고 매우 빠른 알고리즘인 것은 맞다. 그러나 최악의 경우 시간복잡도는 O(n2) 이라는 점을 기억해야한다. 2. Collections.sort() 를 쓰는 방법이다. Collections.sort() 은 Timsort이다. Timsort 의 경우 합병 및 삽입정렬 알고리즘을 사용한다. 이렇게 두 가지가 섞여있는 정렬 알고리즘을 hybrid sorting algorithm 이라고 하는데, .. 2021. 8. 14. [백준/BAEKJOON] 2750번 수 정렬하기 JAVA 1. 버블정렬이다. 첫 번째 인덱스부터 시작하여 뒤의 인덱스들의 값들과 비교하여 최솟값들을 차곡차곡 쌓아나가는 방법이다. 가장 구현하기 쉽다는 장점이 있으나 시간복잡도가 O(n2) 으로 그리 좋은 성능의 알고리즘은 아니다. 아마 정렬을 구현해보거나 접해본 분들이라면 한 번 쯤은 보았을 코드다. 2. 가장 간단한 방법으로, Arrays.sort() 메소드를 쓰는 방법이다. Arrays.sort() 는 자바에서 기본으로 제공되는 메소드로, 자체 정렬 알고리즘을 구현 할 필요 없이 sort() 안에 배열만 넣어주면 자동으로 해당 배열이 정렬되어 나온다. Arrays.sort() 의 경우 dual-pivot Quicksort 알고리즘을 쓰고 있기 때문에 시간복잡도는 평균 O(nlogn) 으로 좋은 성능을 내고 .. 2021. 8. 14. 이전 1 2 3 4 5 다음