today_is
[ 알고리즘 ] k번째수 본문
https://school.programmers.co.kr/learn/courses/30/lessons/42748
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
import java.util.*;
class Solution {
public int[] solution(int[] array, int[][] commands) {
int[] answer = new int[commands.length];
for(int i=0; i< commands.length; i++) {
int start = commands[i][0];
int end = commands[i][1];
int num = commands[i][2];
int[] newArray = Arrays.copyOfRange(array, start-1, end);
Arrays.sort(newArray);
answer[i] = newArray[num-1];
}
return answer;
}
}
오류발생
ArrayIndexOutOfBoundsException 예외발생
로직은 이상 없어보이는데
자꾸 예외발생이 떠서 어느부분이 문제인지 찾기 위해
머릿속으로 디버깅해봤다
알고보니 처음부터 주어지는 answer배열이 commands 배열의 길이만큼 초기화되어있지 않아서 생기는 문제였다
변경 전 | 변경 후 |
int[] answer = {}; | int[] answer = new int[commands.length]; |
문제 해결완료 !!
점수를 너무 짜게 준다
재미없게