generated from skills/introduction-to-github
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Rotate_for_a_Max.js
42 lines (27 loc) · 1.1 KB
/
Rotate_for_a_Max.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*Rotate for a Max
Let us begin with an example:
Take a number: 56789. Rotate left, you get 67895.
Keep the first digit in place and rotate left the other digits: 68957.
Keep the first two digits in place and rotate the other ones: 68579.
Keep the first three digits and rotate left the rest: 68597. Now it is over since keeping the first four it remains only one digit which rotated is itself.
You have the following sequence of numbers:
56789 -> 67895 -> 68957 -> 68579 -> 68597
and you must return the greatest: 68957.
Task
Write function max_rot(n) which given a positive integer n returns the maximum number you got doing rotations similar to the above example.
So max_rot (or maxRot or ... depending on the language) is such as:
max_rot(56789) should return 68957
max_rot(38458215) should return 85821534*/
//version 1
function maxRot(n) {
let str = n.toString();
let maxNum = n;
for (let i = 0; i <str.length; i++){
str = str.slice(0,i)+ str.slice(i+1) + str[i]
let newNum = +str;
if (newNum > maxNum){
maxNum = newNum
}
}
return maxNum
}