본문 바로가기
반응형

정렬6

백준 10814 문제 자바 java 문제 www.acmicpc.net/problem/10814 풀이 입력 값이 나이(공백)이름 으로 입력이 되기 때문에 split 함수를 이용해서 공백 값을 기준으로 나이, 이름으로 분리를 해서 배열에 넣어 줍니다 Arrays.sort 함수를 이용해서 나이 값을 오름차순으로 정렬을 합니다 (가입 순은 이미 입력 순으로 정렬이 됐음) 코드 import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); sc.nextLin.. 2021. 1. 12.
자바 배열 오름차순 내림차순 정렬 Arrays.sort() Arrays.sort() java.util.Arrays 클래스의 Arrays.sort() 함수를 이용하여 배열의 오름차순 내림차순으로 쉽게 정렬할 수 있습니다. Dual-Pivot Quicksort 알고리즘으로 정렬이 됩니다. 평균 시간복잡도 : O(n log n) 최악 시간복잡도 : O(n^2) 오름차순 int[] arr1 = new int[] {5, 3, 2, 4, 1, 2}; System.out.print("정렬 전 : "); for (int i = 0; i < arr1.length; i++) { System.out.print(arr1[i] + " "); } System.out.println(); //오름차순 정렬 Arrays.sort(arr1); System.out.print("정렬 후 : ");.. 2021. 1. 6.
거품정렬(버블정렬 bubble sort) java 소스 버블정렬이란? 두 인접한 수를 비교해서 정렬하는 방법 예제 : 오름차순으로 버블정렬 할때 10 1 5 4 8 - 5개의 수를 비교 시작 1 10 5 4 8 - 10과 1을 비교하여 자리를 바꿈 1 5 10 4 8 - 10과 5을 비교하여 자리를 바꿈 1 5 4 10 8 - 10과 4을 비교하여 자리를 바꿈 1 5 4 8 10 - 10과 8을 비교하여 자리를 바꿈 첫번째 패스 1 5 4 8 10 - 1과 5를 비교하여 크지 않기 때문에 자리를 바꾸지 않음 두번째 패스 1 4 5 8 10 - 5과 4를 비교하여 자리를 바꿈 1 4 5 8 10 - 5과 8를 비교 정렬 완료 버블정렬의 특징 장점 구현이 간단함 단점 다른 정렬에 비해 속도가 느림 시간복잡도 최악 시간복잡도 : $ O\left ( n^{2} \r.. 2021. 1. 5.
백준 2108번 자바 java 문제 www.acmicpc.net/problem/2108 풀이 산술평균, 중앙값, 범위의 값을 구현하는 코드는 간단하지만 최빈값을 구현하는게 조건 때문에 까다로웠다 (양수와 음수 입력 값, 중복되는 입력값과 갯수를 카운팅, 갯수가 같다면 두번째로 작은 값을 출력) 산술평균 산술평균 값 = 입력 값의 총합 / 입력 값 갯수 중앙값 중앙값은 입력 값의 배열을 오름차순으로 정렬한 다음 인덱스값을 2로 나눈 값을 출력 최빈값 양수, 음수의 입력 값의 빈도를 담을 배열을 생성하고 입력할때 배열에 넣어줍니다 (countPlusNum, countMinusNum) 빈도수가 같은 값들만 비교하기 위해서 배열 arrModeNum 생성합니다 temp 변수에 가장 높은 빈도수를 비교해서 넣어줍니다 만약 temp에 이전에 빈도.. 2020. 12. 24.
백준 10989번 자바 java 문제 www.acmicpc.net/problem/10989 풀이 수의 범위가 작다면 카운팅 정렬을 사용하여 더욱 빠르게 정렬할 수 있습니다. 카운팅을 하는 배열의 변수를 생성을 하고 (문제에는 10,000 작거나 같은 자연수여서 int[10001]) 입력 받는 값을 카운팅 배열 인덱스에 집어넣고 +1을 합니다 그리고 출력을 할때 0 이상인 값을 해당 수만큼 출력을 합니다 Scanner, System.out.println() 를 사용하면 시간초과가 나서 BufferedReader, StringBuilder 로 대체해서 해결하였습니다 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; pu.. 2020. 12. 23.
백준 2751번 자바 java 문제 www.acmicpc.net/problem/2751 풀이 Arrays.sort() 함수를 사용을 하면 시간초과가 나서 Collections.sort() 함수를 사용하여 제출하여 성공 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReade.. 2020. 12. 17.
반응형