Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 최대 한 자리 숫자를 섞어서 만든 가장 작은 숫자

<시간/>

문제

양수 n을 받는 JavaScript 함수를 작성해야 합니다. 우리는 최대 하나의 작업을 수행할 수 있습니다 -

숫자에서 숫자의 인덱스를 선택하면 해당 인덱스에서 이 숫자를 제거하고 얻을 수 있는 가장 작은 숫자를 찾기 위해 다른 숫자나 숫자의 같은 위치에 다시 삽입합니다.

우리 함수는 이 가장 작은 숫자를 반환해야 합니다.

예시

다음은 코드입니다 -

const num = 354166;
const smallestShuffle = (num) => {
   const arr = String(num).split('');
   const { ind } = arr.reduce((acc, val, index) => {
      let { value, ind } = acc;
      if(value > val){
         value = val;
         ind = index;
      };
      return { value, ind };
   }, { value: Infinity, ind: -1 });
   const [item] = arr.splice(ind, 1);
   arr.unshift(item);
   return Number(arr.join(''));
};
console.log(smallestShuffle(num));

출력

다음은 콘솔 출력입니다 -

135466