Challenge

1-5 Challenge 자리 수 제거 후 가장 큰 수

kagan-draca 2024. 8. 19. 20:16

 

 

// 문제 5
// 양의 정수가 주어질 때,
// 숫자에서 k개의 자릿수를 제거하여 얻을 수 있는 가장 큰 수를 구하세요.
/*
**제한사항:**

- **`number`**는 최대 1,000,000자리까지 입력될 수 있습니다.
- **`k`**는 1 이상 **`len(number)`** - 1 이하입니다.
*/

let maximumSliceNumber = (number, k) => {
  let max = [];
  number = number.toString();
  for (let i = 0; i < number.length - k + 1; i++) {
    max.push(number.substring(i, i + k));
  }
  return Math.max(...max);
};

console.log(maximumSliceNumber(1924, 1));
console.log(maximumSliceNumber(1924, 2));
console.log(maximumSliceNumber(1924, 3));
console.log(maximumSliceNumber(1924, 4));
 

let max = []자릿수를 제거한 수들을 담을 배열 입니다.

 

number = number.toString()

 

으로 number를 문자열로 표현된 숫자로 만들어줍니다.

 

  for (let i = 0; i < number.length - k + 1; i++) {

  // k로 문자열를 잘랐을 때 문자열이 될 수 있는 범위
    max.push(number.substring(i, i + k));

    // number.substring(i, i + k)로 문자열 i ~ i + k 까지 잘라줍니다.

    // max.push()로 배열에 자른 문자열을 배열에 담아줍니다. 
  }
  return Math.max(...max);

  // Math.max(...max)로 배열에 있는 요소 중 가장 큰 수를

  // return 해줍니다.