Здравейте,
Имам проблем с една от задачите от array contest-a. Judge ми дава 80/100 за моето решение (see link below), но неразбирам къде ми е грешката. В vsc тръгва и ми дава правилните отговори за всички sample test от задачата. Може ли някой да ме насочи къде греша? Благодаря предварително!
https://pastebin.com/ba4HyWXr
Reverse Number
Description
Write a method that reverses the digits of a given decimal number.
Input
- On the first line you will receive a number
 
Output
- Print the given number with reversed digits
 
Sample tests
| Input | 
Output | 
| 256 | 
652 | 
| 123.45 | 
54.321 | 
 
             
            
              
              
              
            
            
                
                
              
           
          
            
            
              Промених този ред:
let a= parseFloat(arr.toString().split('').reverse().join('')) * Math.sign(arr);
на:
let a = arr.toString().split('').reverse().join('');
и даде последните 20 точки.
             
            
              
              
              
            
            
                
                
              
           
          
            
            
              Здравей,
Тръгна и при мене. Благодаря много за помощта.
Обаче има две неща, които не разбирам:
- Без Math.Sign функцията, ако въведем отрицателно число, ни дава грешен отговор: -123 го изписва като 321- без Math.Sign функцията…
2)В условието на задачета пиша: Print the given number - ако премахнем parseFloat функцията тогава няма да принтира number, с ще принтира string или поне така си мисля аз. 
Какво е твоето наблюдение върху горните две точки?
             
            
              
              
              
            
            
                
                
              
           
          
            
            
              1.Без Math.Sign функцията, ако въведем отрицателно число, ни дава грешен отговор: -123 го изписва като 321- без Math.Sign функцията…
Никъде не пише, че ще подават отрицателни числа, -0.123 ще го обърне като 321.0-
с кода който си написал 
 . Най-вероятно тестовете в джъдж не проверяват за отрицателни стойности (просто догадка). С отрицателни стойности май задачата се усложнява малко повече. В стремежа си да покриеш всички случаи (дори и да няма такива) малко си си усложнил живота и може би си се объркал накрая.
2.В условието на задачета пиша: Print the given number - ако премахнем parseFloat функцията тогава няма да принтира number, с ще принтира string или поне така си мисля аз.
Ами попринцип щом нямаш някакви аритметични операции с числата (не ги променяш като стойност в случая само ги обръщаш) си ги печатай като стринг. Прост пример, ако напиша 234324 и ако отвориш html-a на страницата това се резпрезентира като стринг.
В задачата няма constraints и това я прави малко двусмислена, защото от математическа гледна точка примера с -0.123 -> 321.0- е грешен, но пък от друга гледна точка това е правилно reverse-нат стринг 
 Това е моето мнение 
"0"  =>  true
" 0.1 "  =>  true
"abc"  =>  false
"1 a"  =>  false
"2e10"  =>  true
" -90e3 "  =>  true
" 1e"  =>  false
"e3"  =>  false
" 6e-1"  =>  true
" 99e2.5 "  =>  false
"53.5e93"  =>  true
" --6 "  =>  false
"-+3"  =>  false
"95a54e53"  =>  false
Там където има true означава че стрингът може да бъде репрезентиран като число.
             
            
              
              
              1 Like
            
            
                
                
              
           
          
            
            
              Благодаря за изчерпателния отговор!