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.)