✏️기록하는 즐거움
article thumbnail

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

|  제출

function solution(arr) {

  let min = arr[0];
  
  arr.forEach((item) => (min = min > item ? item : min));
  
  const filtered = arr.filter((item) => item !== min);
  
  return filtered.length > 0 ? filtered : [-1];
}

 

|  풀이과정

forEach를 사용하여 배열 요소에서 최솟값을 구하고, filter 메서드로 최솟값을 제거하였다.

 

다른 사람의 풀이를 보니, forEach를 사용하지 않고도 Math.min() 함수를 통해 최솟값을 구할 수 있었다.

function solution(arr) {
  let min = Math.min(...arr);
  return arr.length !== 1 ? arr.filter((item) => item !== min) : [-1];
}

 

|  개념

Array.prototype.forEach()

  • 주어진 함수를 각 배열 요소에 대해 실행한다.

Array.prototype.filter()

  • 주어진 함수의 조건에 맞는 모든 요소들을 모아서 새로운 배열로 반환한다.

Math.min()

  • 주어진 숫자들 중 가장 작은 값을 반환한다.

 

profile

✏️기록하는 즐거움

@nor_coding

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!