[알고리즘문제풀기] 뒤에서 5등까지

silver's avatar
Feb 21, 2025
[알고리즘문제풀기] 뒤에서 5등까지

문제

내가 작성한 정답

import java.util.*; class Solution { public int[] solution(int[] num_list) { int[] answer = new int[5]; Arrays.sort(num_list); for(int i=0; i<5; i++){ answer[i] = num_list[i]; } return answer; } }
import java.util.*; class Solution { public int[] solution(int[] num_list) { return Arrays.stream(num_list) .sorted() .limit(5) .toArray(); } }

다른 사람들의 정답

import java.util.Arrays; class Solution { public int[] solution(int[] num_list) { Arrays.sort(num_list); // 배열의 특정 범위를 복사하여 새로운 배열을 생성 return Arrays.copyOfRange(num_list, 0, 5); } }
💡
copyOfRange 메서드: 배열의 특정 범위를 복사하여 새로운 배열을 생성하는 메서드
copyOfRange(int[] original(복사할 배열), int from(시작 인덱스로 포함), int to(종료 인덱스로 포함x))

내림차순 정렬

import java.util.Arrays; import java.util.Comparator; Arrays.sort(numbers, Comparator.reverseOrder());

사용자 객체 정렬

: Comparator를 구현
import java.util.Arrays; import java.util.Comparator; class Person { String name; int age; Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return name + ": " + age; } } public class Main { public static void main(String[] args) { Person[] people = { new Person("Alice", 30), new Person("Bob", 25), new Person("Charlie", 35) }; // 나이 기준으로 정렬 Arrays.sort(people, new Comparator<Person>() { @Override public int compare(Person p1, Person p2) { return Integer.compare(p1.age, p2.age); } }); // 정렬된 배열 출력 System.out.println(Arrays.toString(people)); // 출력: [Bob: 25, Alice: 30, Charlie: 35] } }
 
Share article

silver