Largest 5 digit number in a series ( 5 kyu )
문제
In the following 6 digit number:
283910
91
is the greatest sequence of 2 digits.
In the following 10 digit number:
1234567890
67890
is the greatest sequence of 5 digits.
Complete the solution so that it returns the largest five digit number found within the number given. The number will be passed in as a string of only digits. It should return a five digit integer. The number passed may be as large as 1000 digits.
주어진 숫자중 연속된 5자리로 이루어진 가장 큰 수를 찾는 문제
풀이
function solution(digits){
let str = digits.toString();
let max = Number(str.slice(0, 5));
for ( let i = 0; i <= str.length-5; i++ ) {
if ( Number(str.slice(i, i+5)) > max ) {
max = Number(str.slice(i, i+5))
}
return max;
}
5개씩 잘라서 비교한 뒤에 가장 큰 값을 리턴
다른 사람의 풀이
function solution(digits){
if (digits.length <= 5) return Number(digits);
return Math.max(Number(digits.substr(0, 5)), solution(digits.substr(1)));
}
접근은 같지만 메소드로 조금 더 짧게 표현