코드 그라데이션
[Lv.0] 뒤에서 5등 위로 본문
https://school.programmers.co.kr/learn/courses/30/lessons/181852
문제 설명
정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
제한 사항
입출력 예
입출력 예 설명
아이디어
- 정렬을 먼저 하고, 조건에 맞는 숫자를 추출해서 가져오기
- 정렬은 Arrays.sort() -> 기본이 오름차순 정렬
- 객체는 함수에 넘기면 값이 조작이 가능하다.
- 그래서 Arrays.sort에 num_list를 넘기면 Arrays.sort는 리턴 값이 따로 없다.
- 따로 변수 등을 선언할 필요가 없음(바뀐 그 상태)
- 그런데, 정답으로 만들 배열은 num_list 와 길이가 다름 => 즉 새로운 배열을 하나 만들어야 한다는 소리
- 그리고 배열의 길이를 현재 주어진 조건 중에서는 num_list의 길이를 활용해서 선언이 가능하겠다.(언제나 5개를 제외한다고 했으므로)
또 다른 아이디어,
answer[0] <= num_list[5]
answer[1] <= num_list[6]
answer[2] <= num_list[7]
answer[3] <= num_list[8]
answer[4] <= num_list[9] 이런 식으로 대응되어야 함.
규칙성을 찾으면
answer[i] = num_list[ i+5 ] 여야 함.
나의 코드
import java.util.*
class Solution {
public int[] solution(int[] num_list) {
Arrays.sort(num_list);
int[] answer = new int[num_list.length - 5];
for(int i=0; i<answer.length; i++) {
answer[i] = num_list[i+5];
}
return answer;
}
}
728x90
'Java > 알고리즘' 카테고리의 다른 글
[Lv.0] 이어 붙인 수 (0) | 2023.06.09 |
---|---|
아스키 코드 관련 (0) | 2023.06.09 |
[Lv.0] 접두사인지 확인하기 (0) | 2023.06.08 |
[Lv.0] 배열의 유사도 (0) | 2023.06.08 |
[Lv.0] 점의 위치 구하기 (1) | 2023.06.07 |
Comments