728x90
반응형
1차풀이 => 실패
function solution(arr) {
let min = Number.MAX_SAFE_INTEGER;
let result = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] < min && arr.length > 1) {
min = arr[i];
result = arr.filter((value) => value > min);
} else {
result = [-1];
}
}
return result
}
2차풀이 => 성공
function solution(arr) {
let min = Number.MAX_SAFE_INTEGER;
let result = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] < min && arr.length > 1) {
min = arr[i];
}
}
arr.length === 1
? (result = [-1])
: (result = arr.filter((value) => value > min));
return result
}
삼항 연산자를 돌려 arr.length가 1일때랑 아닐 때를 구분해주어서 다르게 result값에 할당하도록 하였다.
다른 스터디원 풀이
function solution1(arr) {
// 입력 : 정수가 들어있는 배열 arr
// 출력 : 가장 작은 수를 제거한 배열 answer, 리턴할 배열이 빈 배열일 경우 -1을 넣어 리턴한다.
let min = Math.min(...arr);
let answer = arr.filter(el => el !== min);
return answer.length > 0 ? answer : [-1];
}
console.log(solution1([10]));
1) Math.min() 메서드를 통해서 배열에서 가장 작은 수를 뽑아내서 min 이라는 변수에 담으셨고
2) filter 메서드를 통해서 원소가 min이랑 같지 않은 것들만 남겨두는 방식으로 푸셨다.
나는 부등호로 판단했는데, !== 이런것으로 판단하는게 더 정확하다고 생각한다.
'🍀 코딩 테스트 > 프로그래머스' 카테고리의 다른 글
LV1 - x만큼 간격이 있는 n개의 숫자 (0) | 2022.08.21 |
---|---|
LV 1 - 직사각형 별 찍기 (0) | 2022.08.21 |
LV 1 - 정수 제곱근 판별 (0) | 2022.08.12 |
LV 1 - 정수 내림차순으로 배치하기 (0) | 2022.08.12 |
LV1 - 자연수 뒤집어 배열로 만들기 (0) | 2022.08.12 |