"꾸준하고 완벽한 한 걸음"

sort 33

[백준 01940] 주몽 [Java]

문제1940번: 주몽 1940번: 주몽 boj.ma 풀이두 재료를 모아 M개 필요한 값옷을 몇 개 만들 수 있는지 계산하는 문제다.우선 재료들을 정렬하자. // Solve Arrays.sort(A);왼쪽과 오른쪽에 투포인터를 두고, 두 재료가 M이 되는지 확인하면 된다. while (l 풀이 시간5분소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/easy/01940.java problem-solving/baekjoon-online-judge/easy/01940.java at main · rogi-rogi/problem-solvingDaily Problem Solving C..

[백준33559] Infinite Array Swaps [Java]

문제https://www.acmicpc.net/problem/33559 풀이두 배열을 비교하며 서로에게 존재하는 원소 쌍의 수와, 찾은 원소 순서부터 못 찾은 나머지 원소들을 출력하는 문제다.우선 두 배열을 정렬해주자. // Solve Arrays.sort(A); Arrays.sort(B);값을 비교하며 서로에게 존재하는 원소 쌍의 수와, 못 찾은 나머지 원소들을 기록하자 int a = 0, b = 0, cnt = 0; while (a 출력 형식에 맞춰서 원소들을 출력하면 된다. // Output sb.append(cnt).append("\\n"); for (Integer e : listA) { ..

[백준 01758] 알바생 강호 [Java]

문제https://www.acmicpc.net/problem/1758 풀이대기 순번 만큼 줄어든 팁을 최대한 많이 받기 위해 손님의 순서를 바꿔야 하는 문제다.팁 - 대기 순번이 0 이하인 경우에는 0원으로 계산하며, 대기 순번은 점점 커진다.따라서 작은 팁이 늦은 대기 순번으로 계산할 때 더 많은 팁을 받을 수 있다.입력받은 팁들을 내림차순으로 정렬해주자. // Solve Arrays.sort(A, Comparator.reverseOrder()); 팁 - 대기 순번의 계산 결과가 0이하가 될 때 까지 받을 수 있는 팁들을 계산하면 된다.N은 최대 10만이며 int의 범위를 초과한다 결과는 long으로 담아주자. long sum = 0; f..

[백준 11663] 선분 위의 점 [Java]

문제https://www.acmicpc.net/problem/11663 풀이N개의 점으로 이루어진 선분에서 M개의 부분 선분 범위에 해당하는 점의 수를 세는 문제다.부분 선분의 범위를 각각 하한선과 상한선으로 원래 선분에서 이분 탐색을하면 된다. // Solve Arrays.sort(A); while (M-- > 0) { input = br.readLine().split(" "); sb.append(upperBound(Integer.parseInt(input[1])) - lowerBound(Integer.parseInt(input[0]))).append("\\n"); }풀이시간≤ 10m소스코드https://githu..

[백준 27376] 참살이길 [Java]

문제https://www.acmicpc.net/problem/27376 풀이구현 시뮬레이션에 시간도 계산해야 하는 문제라 난이도에 비해 까다로웠다.0에서 N까지 1씩 이동해야 하며, k개의 신호등이 초록불일 때만 이동하는 문제다.신호등의 위치가 순서대로 주어지는 보장이 없으니 입력받은 신호등 정보를 좌표 기준으로 오름차순 정렬하자. List list = new ArrayList(); for (int i = 0; i a[0]));정렬된 신호등까지는 1씩 이동한다. 마지막 위치에서 신호등 위치까지의 거리를 이용해 한 번에 계산하자. long time = 0, lastPos = 0; for (int[] info : list) { final..

[백준 26265] 멘토와 멘티 [Java]

문제https://www.acmicpc.net/problem/26265 풀이주어진 N개의 멘토-멘티 쌍에 대해 멘토를 기준으로 사전순정렬, 만약 동일하다면 멘티를 기준으로 역사전순 정렬하면 된다. // Solve list.sort((s1, s2) -> { int cmp = s1[0].compareTo(s2[0]); if (cmp == 0) { return -s1[1].compareTo(s2[1]); } return cmp; });소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-j..

[백준 26310] Finalists [Java]

문제https://www.acmicpc.net/problem/26310 풀이문제에서 주어진 절차 A1 ~ A4에 따라 각 지역의 경쟁력을 계산하고, 최종 팀을 결정하는 문제다.A1에서는 주어진 가중치에 따라 점수를 계산하면 된다. // A1 // 입력 순서: s p_t p_u r_t r_u f // site score = 0.56 * r_u + 0.24 * r_t + 0.14 * p_u + 0.06 * p_t + 0.3 * f for (int i = 0; i A2에서는 경쟁력을 기준으로 내림차순 정렬하면 된다. // A2 regionals.sort((a, b)-> Double.compare(b.score, a.score));A3에..

[백준 11908] 카드 [Java]

문제https://www.acmicpc.net/problem/11908 풀이N개의 카드 중 문제에서 주어진 조건대로 N - 1개의 카드를 제거하는 문제다.결국 가장 큰 수가 남게 되기 때문에 배열을 정렬 후 0 ~ N - 1까지의 합을 출력하면 된다. // Solve Arrays.sort(arr); int sum = 0; for (int i = 0; i 소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/11908.java

[Java] Java의 다양한 정렬 방법 1 : Primitive / Object

목차Primitive Array 정렬하기Object Array 정렬하기정리예제 코드Java에는 다양한 타입(Primitive / Object / Collections)의 배열이 존재할 수 있으며, 정렬하는 방식도 제각각입니다.이번 글에서는 Primitive / Object 배열을 정렬하는 방법에 대해 알아보겠습니다.1️⃣ Primitive Array 정렬하기Arrays.sort()는 원시 배열을 정렬할 수 있습니다. 기본적으로 오름차순 정렬이 되며, 내부적으로 Dual-Pivot Quicksort 알고리즘을 사용합니다SortPrimitiveArray.javaArrays.sort()를 사용해 Primitive Array를 정렬하는 방법은 다음과 같습니다.package pl.java.D250216;impor..