자바 초급문제로 맨땅에 해딩하기

다시 시작하는 프로그래머스 문제7. K번째 수

Jungsoomin :) 2020. 10. 25. 04:44
  • 생각하기에 command 와 answer 의 길이는 같으며, command 의 원소 -1 값이 잘라낼 값, 추출할 인덱스 넘버
  • 인덱스 조작을 위해 index 변수 , 추출할 숫자를 위해 point 지정
  • while문을 돌려서 copyOfRange 로 새로운 배열 리턴하고 sorting
  • 추출 후 인덱스 증가시켜서 while 탈출 플래그 성립
  • 리턴
import java.util.*;
class Solution {
    public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int[commands.length];
		int index = 0;
		int point = 0;
		
		while(index < commands.length) {
			int[] newArr = Arrays.copyOfRange(array, commands[index][0] -1, commands[index][1]);
			Arrays.sort(newArr);
			point = commands[index][2] -1;
			answer[index] = newArr[point];
			index++;
		}
        return answer;
    }
}

 

function solution(array, commands) {
    const answer = [];
    let flag = 0;
    let point = 0;
    
    while(flag < commands.length) {
        const newArr = array.slice(commands[flag][0] -1 , commands[flag][1]);
        newArr.sort();
        point = commands[flag][2] -1;
        answer.push(newArr[point]);
        flag ++;
    }
    return answer;
}