Loading...
v1ppers0nn avatar v1ppers0nn 234 Точки

[Exam Problems] JavaScript Basics - The Numbers (4 September)

Здравейте,

реших я тази задача, в конзолата ми вървъ всичко, но когато я поставя в Judge 0... някаква грешка излиза. От къде може да е проблема?

function solve(arr) {
var numbers = arr.match(/(\d+)/g);

for(var i = 0; i < numbers.length; i++) {
var number = numbers[i];
var hex = Number(number).toString(16);
hex = "0000".substr(0, 4 - hex.length) + hex;
console.log("0x" + hex.toUpperCase());

}
}
Тагове:
0
JavaScript Fundamentals 30/12/2014 00:30:40
v1ppers0nn avatar v1ppers0nn 234 Точки

Arr[0] ми мачва само първия match. И пак не работи. Въпроса ми е: защо при положение, че при мен всичко е нормално, в judge дава 0. Дали това е наша грешка...?

0
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

Кое не работи като аз го подкарах? Губят се 90 точки от това, че не си форматираш изхода като хората просто...

Просто виж как ти го подават, разгледай авторското решение ако искаш.

0
v1ppers0nn avatar v1ppers0nn 234 Точки

Аз ли съм луд? Ето какво ми показва в WebStorm когато сложа [0]: http://picbg.net/img.php?file=535facb562446f6a.png

А в Judge ми изкарва и 4те? Е това нормално ли е?

Значи при мен в WebStorm излиза всичко точно, в Judge ми дава 0 и има грешки. Когато при WebStorm има грешки, или не се показва всичко, в Judge работи??? :@:@:@

0
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

Ами нормално е, това, че webstorm ти слепя log-овете, не значи, че е коректно да работят по този начин. Judge работи както трябва и прави 4 различни лога.

0
v1ppers0nn avatar v1ppers0nn 234 Точки

А я го постави в WebStorm да видиш какво става...

Edit: Ето го кода който ми даде 100/100:

function solve(arr) {
var numbers = arr[0].match(/(\d+)/g);
var result = [];
for(var i = 0; i < numbers.length; i++) {
var number = numbers[i];
var hex = Number(number).toString(16);
hex = "0000".substr(0, 4 - hex.length) + hex;
numbers[i] = "0x" + hex.toUpperCase();
}
console.log(numbers.join('-'))
}

Ето какво ми дава в WebStorm:

0
30/12/2014 00:41:30
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

Тествай през браузъра с f12, ще си спестиш подобни проблеми.

0
30/12/2014 00:40:20
v1ppers0nn avatar v1ppers0nn 234 Точки

Това означава, че на изпит може да не ми показва правилен отговор ама може да имам 100... А когато всичко ми е правилно няма да имам. ГОЛЯМА простотия ... Това което виждам пред очите си да не работи, това което не виждам да работи...

0
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

И на мен ми е голям шок. Дали няма някакви настройки за webstorm-a, които да го барнат това. Спомням си, че подобен проблем имах с Eclipse като пишехме java и някакси конзолата се препълваше (колкото и невъзможно да беше да се препълни от доста кратък output) и не изкарваше всичко.

0
v1ppers0nn avatar v1ppers0nn 234 Точки

Представа си нямам, ще е добре да каже някой който знае наистина защо става така. Сега едва ли ще започна да ровичкам WebStorm, но дано някой помогне защото си ... да не казвам какво.

-2
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

 

На мен ми изглежда коректно.

0
a.angelov avatar a.angelov 1316 Точки

Ето преработен твоя код, даващ 100 точки:

  1. function solve(arr) {
  2.     var numbers = arr[0].match(/(\d+)/g);
  3.     var result = '';
  4.  
  5.     for(var i = 0; i < numbers.length; i++) {
  6.         var number = numbers[i];
  7.         var hex = Number(number).toString(16);
  8.         hex = "0000".substr(0, 4 - hex.length) + hex;
  9.         if (== 0) {
  10.                 result += "0x" + hex.toUpperCase();
  11.         } else {
  12.                 result += "-0x" + hex.toUpperCase();
  13.         }
  14.     }
  15.         console.log(result);
  16. }

Проблема е наистина във форматирането на output-a. Оцветил съм в червено промените.

ПС. Не бях видял, че си я решил вече... :) Скривам поста.

0
30/12/2014 02:04:36
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.