# 문제 원문
정수를 저장한 배열, 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에서 가장 작은 수를 구하고 제거한 배열을 반환하는 간단한 문제. 빈배열일 경우 -1를 담아서 반환하고 무조건 하나를 제거하기에 arr.length가 1 이상인지 먼저 확인후 arr에서 가장 작은 수를 찾아서 제거 해주면된다.
이런 간단한 문제들도 포스팅 하려니까 귀찮긴한데.. 글쓰는 루틴을 유지하는게 더 중요하다고 생각해서 한다. 난 귀찮은걸 싫어하니까 이런식으로라도 노력해야지..
# 솔루션 플로우
1. 입력 받은 arr의 length가 1 이상인지 확인한다. (2, 3)
2. 1이거나 이하일 경우 바로 [-1]을 반환한다.
3. 이상일 경우 가장 작은 수를 구한다.
4. arr를 순회하며 가장 작은 수를 제외한 result를 얻는다.
5. 얻어진 result를 반환한다.
1. API를 활용한 풀이
function solution(arr) {
const min = Math.min(...arr);
return arr.length > 1 ?
arr.filter((num) => num !== min) :
[-1];
}
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[프로그래머스][LEVEL1]가운데 글자 가져오기 (0) | 2021.08.18 |
---|---|
[프로그래머스][LEVEL1] 소수 찾기 (0) | 2021.08.18 |
[프로그래머스][LEVEL1] 2016 (0) | 2021.08.18 |
[프로그래머스][LEVEL1] 두개 뽑아서 더하기 (0) | 2021.08.18 |
[프로그래머스][LEVEL1]3진법 뒤집기 (0) | 2021.08.18 |