프로그래밍/Algorithm
[프로그래머스] K번째 수
Jay22
2018. 10. 21. 20:53
반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import java.util.*; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; int [] temp = {}; for(int i =0;i < commands.length;i++) { temp = Arrays.copyOfRange(array,commands[i][0]-1,commands[i][1]); Arrays.sort(temp); answer[i]=temp[commands[i][2]-1]; } return answer; } } | cs |
배열을 slice해서 새로운 배열에 할당하는 메소드인 copyOfRange를 썼다. 주의할 점은 3번째 인자는 exclusive인 것이다. 이것을 못 알아챘었다. 그리고 2차원 배열의 길이를 구하는데 commands.length로 해야지 행의 갯수 즉 2차원 배열에 할당된 배열 갯수가 나오는데 commands[0].length로 해버려서 틀려버렸다. 저런식으로 하면 열의 갯수가 나온다. 이런 기본적인 부분을 숙지 하지 못하니 푸는 방법을 생각해 내도 원하는 답을 구할 수 없다. 항상 기본이 중요하다. 게다가 test case에는 3x3 배열이 나와버려서 저렇게 length를 구해도 통과가 된것이다.... 정말 사소한 부분 까지 교묘하다.
반응형