Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- #프론트엔드개발
- 프론트엔드
- tanStack Query
- dom
- 비동기프로그래밍
- 동적 웹 페이지
- 프라미스체이닝
- 상태 관리 라이브러리
- 컴포넌트
- fe
- 웹 성능 최적화
- Promise
- 패키지 스크립트
- html
- jsx
- css
- 자바스크립트공부
- 리액트 기초
- 웹 개발
- 풀스택 개발
- 웹 성능
- JavaScript
- 자바스크립트
- 웹개발
- 국제화(i18n)
- Node.js
- 코드리뷰
- React
- 퍼포먼스 최적화
- 비동기 요청 처리
Archives
- Today
- Total
sodol-dotcom
[Algorithm] 제일 작은 수 제거하기 본문
1. 문제 개요
- 문제 제목: 제일 작은 수 제거하기
- 문제 설명: 주어진 정수 배열에서 가장 작은 수를 제거한 배열을 반환합니다. 만약 배열이 비거나 요소가 하나뿐인 경우에는 -1을 포함한 배열을 반환해야 합니다.
2. 문제 해결 전략
- 단계 1: 배열의 길이가 1 이하인지 확인한다. 이 경우에는 `[-1]`을 반환한다.
- 단계 2: 배열에서 가장 작은 수를 찾는다.
- 단계 3: 찾은 가장 작은 수를 배열에서 제거하고, 수정된 배열을 반환한다.
3. 코드 분석
function solution(arr) {
// 배열이 비었거나, 요소가 하나라면 -1 반환
if (arr.length <= 1) {
return [-1];
}
// 가장 작은 수를 찾기
let minValue = Math.min(...arr);
// 가장 작은 수를 제거한 새로운 배열 반환
return arr.filter(num => num !== minValue);
}
3-1) 메소드 및 함수 설명
- 메소드/함수 이름: `Math.min()`
- 용도: 주어진 숫자들 중에서 가장 작은 값을 찾는다.
- 설명: 배열의 모든 요소 중에서 가장 작은 값을 계산한다.
- 사용 예: `Math.min(1, 2, 3)은 `1`을 반환한다.
- 메소드/함수 이름: `Array.prototype.filter()`
- 용도: 배열에서 특정 조건을 만족하는 요소들만 추출하여 새로운 배열을 만든다.
- 설명: 배열의 각 요소를 검사하여 주어진 조건을 만족하는 요소들로 새로운 배열을 생성한다.
- 사용 예: `[1, 2, 3, 4 ].filter(num => num > 2)`는 `[3, 4]`를 반환한다.
3-2) 단계별 코드 분석
- 단계 1: 배열 길이 확인
- 설명: 배열의 길이를 체크하여, 배열이 비어 있거나 요소가 하나뿐인 경우 `[-1]`을 반환한다.
- 장점: 이 단계에서 배열의 길이에 대한 예외 처리를 통해 코드가 잘못된 입력에 대해 안정적으로 동작하게 한다.
if (arr.length <= 1) {
return [-1];
}
- 단계 2: 가장 작은 수 찾기
- 설명: `Math.min(...arr)`을 사용하여 배열의 가장 작은 수를 찾는다. `...arr`은 배열의 요소를 개별 인수로 변환하여 `Math.min` 함수에 전달한다.
- 장점: 배열에서 가장 작은 값을 효율적으로 찾을 수 있으며, 이 값을 나중에 필터링 작업에 사용할 수 있다.
let minValue = Math.min(...arr);
- 단계 3: 가장 작은 수 제거
- 설명: `filter` 메소드를 사용하여 배열에서 가장 작은 수 (`minValue`)가 아닌 요소들로 새로운 배열을 만든다.
- 장점: `filter` 메소드를 사용하여 간단하게 원하는 요소들만 추출할 수 있으며, 원본 배열을 변경하지 않고 새로운 배열을 반환한다.
return arr.filter(num => num !== minValue);
4. 코드의 역할 및 활용
4-1) 코드의 역할
- 이 코드는 주어진 배열에서 가장 작은 수를 제거하여 새로운 배열을 생성한다. 또한, 배열이 비거나 요소가 하나인 경우에는 `[-1]`을 반환하여 문제의 조건을 충족한다.
4-2) 적용 예시
- 이 방법은 배열의 가장 작은 값을 제거해야 하는 다양한 상황에 유용하다. 예를 들어, 통계 분석에서 최솟값을 제거한 데이터의 변화를 분석하거나, 게임에서 특정 점수를 제외한 점수 계산에 활용될 수 있다. 또한, 사용자 입력 데이터에서 이상치(최솟값)을 제거할 때도 유용하게 사용할 수 있다.
'Algorithm' 카테고리의 다른 글
[Algorithm] 가운데 글자 가져오기 (0) | 2024.09.23 |
---|---|
[Algorithm] 없는 숫자 더하기 (0) | 2024.09.13 |
[Algorithm] 음양 더하기 (0) | 2024.09.13 |
[Algorithm] 서울에서 김서방 찾기 (0) | 2024.09.10 |
[Algorithm] 나누어 떨어지는 숫자 배열 (0) | 2024.09.09 |