array 배열을 다루는 문제였다.
필요한 로직은 크게 정렬에 대한 해결
그리고 새로운 배열에 조건(필터)에 맞는 값을 넣어서 반환하는 것을 구현하면 되었다.
정렬을 하는데 있어서 메소드 없이 구현하려하니 버블정렬밖에 생각이 나지 않았다. 코드가 복잡해지고 생각처럼 동작하지 않았다.
그러던 와중 공식문서에서 Arrays.sort() 라는 메소드를 찾을 수 있었다.
Arrays.sort(arr);
Java
복사
을 통해서 아직 정렬되지 않은 인자(argument)인 arr 배열을 Arrays.sort(arr)처럼 sort메소드의 인자로 전달하면 내림차순 정렬을 할 수 있다.
더하여 시작index와 끝index를 Arrays.sort(arr,2,4)처럼 추가로 인자를 전달하면, 특정 index범위의 부분만 정렬을 할 수도 있었다. int뿐만 아니라 모든 숫자 유형과 Object까지도 가능했다.
나는 여기서 오름차순은 어떻게 하는지 또 궁금해졌다. 단순히 Arrays.sort()의 인자로 뭔가 추가하면 되지 않을까 싶었는데, 생각보다 조금 다른 메소드를 인자로 넣어야 했다.
Arrays.sort(arr, Collections.reverseOrder()); 처럼 Collections클래스의 reverseOrder() 메소드를 호출해야 오름차순으로 정렬 할 수 있다.