class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int [num_list.length+1];
int lastNum = num_list.length-1;
int preNum = num_list.length-2;
for(int i = 0; i<num_list.length; i++){
answer.add(num_list[i]);
}
if(num_list[lastNum] > num_list[preNum]){
answer.add(num_list[lastNum] - num_list[preNum]);
}else{
answer.add(num_list[lastNum*2]);
}
return answer;
}
}
근데 여기서 문제점이 Java배열은 고정된 크기를 갖기에, add()를 사용할 수 없다.
위에서 내가 아래 처럼 크기를 선언했는데 add()를 사용하고 있었다.
int[] answer = new int [num_list.length+1];
너무 생각 없이 쳤는지 문제점이 하나 둘이 아니다.
뭐 가끔 기본적인게 생각이 안날때도 많다.
아직 내가 많이 부족한거겠지..
class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int [num_list.length + 1];
int lastNum = num_list.length-1;
int preNum = num_list.length-2;
for(int i = 0; i<num_list.length; i++){
answer[i] = num_list[i];
}
if(num_list[lastNum] > num_list[preNum]){
answer[lastNum + 1] = num_list[lastNum] - num_list[preNum];
}else{
answer[lastNum + 1] = num_list[lastNum] *2;
}
return answer;
}
}
정답!