Lv1. K번째수
📚 문제
💡 접근
- slice 함수를 이용해서 i부터 j까지 배열을 자른다.
 
- 자른 배열을 sort
 
- 반복문에서 answer의 마지막 인덱스에 k번 째 값을 push해서 요소를 추가해준다.
 
⌨️ 코드
function solution (array, commands){
	var answer = [];
  
    for (var i = 0; i < commands.length; i++){
        
        var sliceArray = temp.slice(commands[i][0]-1,commands[i][1]);
        sliceArray.sort((a,b) => a-b);
        answer.push(sliceArray[commands[i][2]-1]);
    }
    
    return answer ;
}
✅ method 정리
- 
.splice()
- syntax
 
 array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
- 
매개변수
- start : 배열/문자열의 변경을 시작할 인덱스
 
- deleteCount : 제거할 요소의 갯수
 
- item : 배열에 추가할 요소, 아무 요소도 지정하지 않으면 요소 제거만 한다.
 
 
- 
반환 값 : 제거한 요소를 담은 배열
 
 
- 
.sort()
- syntax
 
 arr.sort([compareFunction])
- 매개변수
- compareFunction : 정렬 순서를 정의하는 함수. 생략하면 배열은 각  문자의 유니코드 값에 따라 정렬된다.
 
 
- 반환 값 : 정렬된 배열. 단, 새로운 배열이 만들어지는 것이 아님.
 
- Description
- function(a,b) < 0 경우, a를 b보다 낮은 인덱스로 정렬
 
- function(a,b) = 0 경우, a = b
 
- function(a,b) > 0 경우, b를 a보다 낮은 인덱스로 정렬
 
 
- 코드
- 숫자 9와 80을 비교하려면 숫자는 문자열로 변환되기 때문에 유키코드 순서로 80이 9보다 앞에 오게된다.
따라서 숫자를 비교하기 위해 a - b를 return 해준다. 
 
 
      	// 문자열 비교
        function compare(a, b) {
          if (a < b) return -1; //a가 b보다 작을 경우
          if (a > b) return 1; //a가 b보다 클 경우
          return 0; // a랑 b가 같을 경우
        // 숫자 비교
        function compare((a, b) => a-b);
- array.push()
- 배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환한다.
 
- syntax
arr.push(element1[, ...[, elementN]])
 
- 매개변수
- elementN : 배열의 끝에 추가할 요소
 
- 반환 값 : 호출한 배열의 새로운 길이
 
 
- 코드
 
 
        const animals = ['pigs', 'goats', 'sheep'];
        const count = animals.push('cows');
        console.log(count);
         // output : 4
        console.log(animals);
         // output : Array ["pigs", "goats", "sheep", "cows"]
📝 리뷰
- slice 함수를 이용해서 i부터 j까지 배열을 자른다.
 - 자른 배열을 sort
 - 반복문에서 answer의 마지막 인덱스에 k번 째 값을 push해서 요소를 추가해준다.
 
⌨️ 코드
function solution (array, commands){
	var answer = [];
  
    for (var i = 0; i < commands.length; i++){
        
        var sliceArray = temp.slice(commands[i][0]-1,commands[i][1]);
        sliceArray.sort((a,b) => a-b);
        answer.push(sliceArray[commands[i][2]-1]);
    }
    
    return answer ;
}
✅ method 정리
- 
.splice()
- syntax
 
 array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
- 
매개변수
- start : 배열/문자열의 변경을 시작할 인덱스
 
- deleteCount : 제거할 요소의 갯수
 
- item : 배열에 추가할 요소, 아무 요소도 지정하지 않으면 요소 제거만 한다.
 
 
- 
반환 값 : 제거한 요소를 담은 배열
 
 
- 
.sort()
- syntax
 
 arr.sort([compareFunction])
- 매개변수
- compareFunction : 정렬 순서를 정의하는 함수. 생략하면 배열은 각  문자의 유니코드 값에 따라 정렬된다.
 
 
- 반환 값 : 정렬된 배열. 단, 새로운 배열이 만들어지는 것이 아님.
 
- Description
- function(a,b) < 0 경우, a를 b보다 낮은 인덱스로 정렬
 
- function(a,b) = 0 경우, a = b
 
- function(a,b) > 0 경우, b를 a보다 낮은 인덱스로 정렬
 
 
- 코드
- 숫자 9와 80을 비교하려면 숫자는 문자열로 변환되기 때문에 유키코드 순서로 80이 9보다 앞에 오게된다.
따라서 숫자를 비교하기 위해 a - b를 return 해준다. 
 
 
      	// 문자열 비교
        function compare(a, b) {
          if (a < b) return -1; //a가 b보다 작을 경우
          if (a > b) return 1; //a가 b보다 클 경우
          return 0; // a랑 b가 같을 경우
        // 숫자 비교
        function compare((a, b) => a-b);
- array.push()
- 배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환한다.
 
- syntax
arr.push(element1[, ...[, elementN]])
 
- 매개변수
- elementN : 배열의 끝에 추가할 요소
 
- 반환 값 : 호출한 배열의 새로운 길이
 
 
- 코드
 
 
        const animals = ['pigs', 'goats', 'sheep'];
        const count = animals.push('cows');
        console.log(count);
         // output : 4
        console.log(animals);
         // output : Array ["pigs", "goats", "sheep", "cows"]
📝 리뷰
function solution (array, commands){
	var answer = [];
  
    for (var i = 0; i < commands.length; i++){
        
        var sliceArray = temp.slice(commands[i][0]-1,commands[i][1]);
        sliceArray.sort((a,b) => a-b);
        answer.push(sliceArray[commands[i][2]-1]);
    }
    
    return answer ;
}- 
.splice()
- syntax
 
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])- 
매개변수
- start : 배열/문자열의 변경을 시작할 인덱스
 - deleteCount : 제거할 요소의 갯수
 - item : 배열에 추가할 요소, 아무 요소도 지정하지 않으면 요소 제거만 한다.
 
 - 
반환 값 : 제거한 요소를 담은 배열
 
 - 
.sort()
- syntax
 
arr.sort([compareFunction])- 매개변수
- compareFunction : 정렬 순서를 정의하는 함수. 생략하면 배열은 각 문자의 유니코드 값에 따라 정렬된다.
 
 - 반환 값 : 정렬된 배열. 단, 새로운 배열이 만들어지는 것이 아님.
 - Description
- function(a,b) < 0 경우, a를 b보다 낮은 인덱스로 정렬
 - function(a,b) = 0 경우, a = b
 - function(a,b) > 0 경우, b를 a보다 낮은 인덱스로 정렬
 
 - 코드
- 숫자 9와 80을 비교하려면 숫자는 문자열로 변환되기 때문에 유키코드 순서로 80이 9보다 앞에 오게된다.
따라서 숫자를 비교하기 위해 a - b를 return 해준다. 
 - 숫자 9와 80을 비교하려면 숫자는 문자열로 변환되기 때문에 유키코드 순서로 80이 9보다 앞에 오게된다.
 
 
      	// 문자열 비교
        function compare(a, b) {
          if (a < b) return -1; //a가 b보다 작을 경우
          if (a > b) return 1; //a가 b보다 클 경우
          return 0; // a랑 b가 같을 경우
        // 숫자 비교
        function compare((a, b) => a-b);
- array.push()
- 배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환한다.
 - syntax
arr.push(element1[, ...[, elementN]]) - 매개변수
- elementN : 배열의 끝에 추가할 요소
 - 반환 값 : 호출한 배열의 새로운 길이
 
 - 코드
 
 
        const animals = ['pigs', 'goats', 'sheep'];
        const count = animals.push('cows');
        console.log(count);
         // output : 4
        console.log(animals);
         // output : Array ["pigs", "goats", "sheep", "cows"]
📝 리뷰
push() 반환 값은 배열의 길이
자꾸 변수 하나를 선언해서 거기에 push 반환 값을 저장했는데 그렇게 하면 배열의 길이만 나오기 때문에 계속 틀렸던 것 같다.. 왜 그렇게 한걸까 ?ㅎ
Author And Source
이 문제에 관하여(Lv1. K번째수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@khakaa/1단계-K번째수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)