Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

LilianaVelvheva avatar LilianaVelvheva 17 Точки

Къде ми е грешката в задача Fancy Barcodes и защо judge ми дава 0 точки?

Ето моя код: https://pastebin.com/zPV1Hn4h

Това е условието на задачата:

Problem 2. Fancy Barcodes

 

Your first task is to determine if the given sequence of characters is a valid barcode or not.

Each line must not contain anything else but a valid barcode. A barcode is valid when:

  • Is surrounded with a "@" followed by one or more "#"
  • Is at least 6  characters long (without the surrounding "@" or "#")
  • Starts with a capital letter
  • Contains only letters (lower and upper case) and digits
  • Ends with a capital letter

Examples of valid barcodes: @#FreshFisH@#, @###Brea0D@###, @##Che46sE@##, @##Che46sE@###

Examples of invalid barcodes: ##InvaliDiteM##, @InvalidIteM@, @#Invalid_IteM@#

Next you have to determine the product group of the item from the barcode. The product group is obtained by concatenating all the digits found in the barcode. If there are no digits present in the barcode, the default product group is "00".

Examples: 

@#FreshFisH@# -> product group: 00

@###Brea0D@### -> product group: 0

@##Che4s6E@## -> product group: 46

Input

On the first line you will be given an integer n – the count of barcodes that you will be receiving next.

On the next n lines, you will receive different strings.

Output

For each barcode that you process, you need to print a message.

If the barcode is invalid:

  • "Invalid barcode"

If the barcode is valid:

  • "Product group: {product group}"

 

Examples

Input

Output

3

@#FreshFisH@#

@###Brea0D@###

@##Che4s6E@##

Product group: 00

Product group: 0

Product group: 46

Input

Output

6

@###Val1d1teM@###

@#ValidIteM@#

##InvaliDiteM##

@InvalidIteM@

@#Invalid_IteM@#

@#ValiditeM@#

Product group: 11

Product group: 00

Invalid barcode

Invalid barcode

Invalid barcode

Product group: 00

JS Input / Output

Input

Output

(["3",

"@#FreshFisH@#",

"@###Brea0D@###",

"@##Che4s6E@##"])

Product group: 00

Product group: 0

Product group: 46

Input

Output

(["6",

"@###Val1d1teM@###",

"@#ValidIteM@#",

"##InvaliDiteM##",

"@InvalidIteM@",

"@#Invalid_IteM@#",

"@#ValiditeM@#"])

Product group: 11

Product group: 00

Invalid barcode

Invalid barcode

Invalid barcode

Product group: 00

 

Тагове:
0
Fundamentals Module
icowwww avatar icowwww 2673 Точки

Здравей,

Имаш грешки в проверките дали има цифри в баркода:

 if (matches.match('[0-9]+')) {
                console.log(`Product group: 00`);
            }
            if (!matches.match('[0-9+]')) {
                console.log(`Product group: ${string}`);
                string = "";
            }

Първо трябва да са обърнати наобратно, защото ако имаш цифра принтираш 00

Второ втория регекс е объркан и плюса трябва да е извън квадратната скоба

Цялото https://pastebin.com/FPaZB1k3

 

Аз бих написал тази проверка:

if (matches.charCodeAt(i) >= 48 && matches.charCodeAt(i) <= 57) {

така за да е по-говорима:

if (!isNaN(matches[i])) {

И тази:

if (!matches.match('[0-9]+')) {

за да не проверям два пъти за цифра:

 if (string === "") {

 

А ето и регекс за цифри с join, вместо цикъл:https://pastebin.com/TGPPm7V4

0
07/08/2021 22:59:40
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.