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 해줍니다.