알고리즘 문제

알고리즘 문제 js 26 - 제일 작은 수 제거하기

<zinny/> 2022. 1. 19. 15:24
728x90

내가 쓴 코드 

function solution(arr) {
    if (arr.length === 1) { 
        return [-1]
    }
    let tmp = arr.slice()        // arr 배열의 값을 전부 가져온다 , slice는 자르는 기능도 있지만 아무것도 안써주면 값을 전부 불러오는 기능이 있다. 
    tmp.sort((a,b) => a-b)      // 오름 차순으로 정렬해주고 
    let val = tmp[0]           // 변수 val에 가장 작은수를 지정한다. 


    arr.splice(arr.indexOf(val),1)

    return arr
}
function solution(arr) {
    if (arr.length === 1) { 
        return [-1]
    }
    let c = []                          //c라는 배열 변수를 만든다 
    for(let i =0; i<arr.length; i++){  // 반복문들 돌려서 
        c.push(arr[i])       		   // 값을 c 배열에 푸쉬한다 
    }  
    c.sort((a,b) => a-b)              // 배열 c를 오름 차순으로 정렬하고 
    let d = c[0]					 // 제일 작은값을 변수에 지정 한다 
    

    arr.splice(arr.indexOf(d),1)    //제일 작은 값을 제거하는 함수 실행

    return arr
}
function solution(arr) {
  if (arr.length <= 1) {
      return [-1];
  } else {
    arr.splice(arr.indexOf(Math.min(...arr)),1);    //배열에서 최소값을 구하는 방법을 사용
  }
  return arr;
}

1. slice() 함수 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/slice 슬라이스 함수 사용 법 

2. splice() 함수

//splice(a, b) : a번의 인덱스에서 b개의 요소를 제거해라

 

3. indexOf() 함수

//indexOf('찾고자 하는 값', '시작점(생략가능)')

 

4. Math.min() 함수 

//Math.min(…arr) : arr요소들의 x 와 y 중 작은 값을 찾아 z 에 할당 합니다

- 배열에서 최소값을 구할땐 https://jjeongil.tistory.com/949 여기 한번 볼것 

 

728x90