File tree Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change
1
+ // coderbyte solution for swap II
2
+ // splashinn
3
+
4
+ function swapCase ( str ) {
5
+ var str = str . split ( "" ) ;
6
+ str = str . map ( function ( char ) {
7
+ var code = char . charCodeAt ( 0 ) ;
8
+ if ( code >= 97 && code <= 122 ) return char . toUpperCase ( ) ;
9
+ if ( code >= 65 && code <= 90 ) return char . toLowerCase ( ) ;
10
+ return char ;
11
+ } ) ;
12
+ return str . join ( "" ) ;
13
+ }
14
+
15
+ function SwapII ( str ) {
16
+ var str = swapCase ( str ) ;
17
+
18
+ var prevDigit = - 1 ;
19
+ var prevPos = - 1 ;
20
+ var newStr = [ ] ;
21
+
22
+ for ( var i = 0 ; i < str . length ; i ++ ) {
23
+ var c = str . charCodeAt ( i ) ;
24
+ if ( c >= 48 && c <= 57 ) {
25
+ if ( prevDigit >= 0 ) {
26
+ newStr [ prevPos ] = str . charAt ( i ) ;
27
+ newStr [ i ] = prevDigit ;
28
+ prevDigit = - 1 ;
29
+ prevPos = - 1 ;
30
+ } else {
31
+ newStr [ i ] = str . charAt ( i ) ;
32
+ prevDigit = str . charAt ( i ) ;
33
+ prevPos = i ;
34
+ }
35
+ } else if ( c >= 97 && c <= 122 || c >= 65 && c <= 90 ) {
36
+ newStr [ i ] = str . charAt ( i ) ;
37
+ } else {
38
+ newStr [ i ] = str . charAt ( i ) ;
39
+ prevDigit = - 1 ;
40
+ prevPos = - 1 ;
41
+ }
42
+ }
43
+ return newStr . join ( "" ) ;
44
+ }
You can’t perform that action at this time.
0 commit comments