-
[프로그래머스] 제일 작은 수 제거하기Algorithm 2021. 3. 1. 16:04
programmers.co.kr/learn/courses/30/lessons/12935
코딩테스트 연습 - 제일 작은 수 제거하기
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1
programmers.co.kr
더보기문제 설명
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
제한 조건
- arr은 길이 1 이상인 배열입니다.
- 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.
입출력 예
arr return [4, 3, 2, 1] [4, 3, 2] [10] [-1] 풀이
- 배열 내에 임의의 값을 정함
- 반복문을 돌려서 임의의 값과 배열 내 요소들을 모두 비교하여 가장 작은 요소의 인덱스를 얻음
- 찾은 인덱스를 배열에서 삭제
(Arr.splice - 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경)
- 삭제 후 남은 배열 리턴
function solution(arr) { let min = arr[0]; let index; let remove; if(arr.length === 1) { return [-1]; } else { for(let i = 0; i < arr.length; i++) { if(arr[i] <= min) { min = arr[i]; index = i; } } remove = arr.splice(index, 1); return arr; } }
'Algorithm' 카테고리의 다른 글
[프로그래머스] 같은 숫자는 싫어 (0) 2021.03.03 [프로그래머스] 행렬의 덧셈 (0) 2021.03.02 [프로그래머스] 자릿수 더하기 (0) 2021.02.28 [프로그래머스] 짝수와 홀수 (0) 2021.02.28 [프로그래머스] 정수 제곱근 판별 (0) 2021.02.27