Loading...
ioanna.konova avatar ioanna.konova 47 Точки

02. Fancy Barcodes от 04. Programming Fundamentals Final Exam - 70/100 в judge

Здравейте, колеги,

Някой може ли да ми помогне да си открия грешката в кода?

Предварително много благодаря!

Условие:

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:

  • It is surrounded by a "@" followed by one or more "#"
  • It is at least 6 characters long (without the surrounding "@" or "#")
  • It starts with a capital letter
  • It contains only letters (lower and upper case) and digits
  • It ends with a capital letter

Examples of valid barcodes: @###Che46sE@##, @#FreshFisH@#, @###Brea0D@###, @##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 following 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 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

 

Тагове:
0
Fundamentals Module
Axiomatik avatar Axiomatik 2422 Точки

100 % code:

using System;
using System.Text.RegularExpressions;

namespace ExamPrep_02_FancyBarcodes
{
    class Program
    {
        static void Main(string[] args)
        {
            int count = int.Parse(Console.ReadLine());

            string pattern = @"^@#+([A-Z][A-Za-z0-9]{4,}[A-Z])@#+$";
            Regex barcodeRegex = new Regex(pattern);

            while (count-- > 0)
            {
                string input = Console.ReadLine();
                Match match = Regex.Match(input, pattern);

                if (match.Success)
                {
                    string productGroup = "";

                    for (int i = 0; i < match.Value.Length; i++)
                    {
                        if (char.IsDigit(match.Value[i]))
                        {
                            productGroup += match.Value[i];
                        }
                    }

                    if (productGroup != "")
                    {
                        Console.WriteLine($"Product group: {productGroup}");
                    }
                    else
                    {
                        Console.WriteLine($"Product group: 00");
                    }
                }
                else
                {
                    Console.WriteLine("Invalid barcode");
                }
            }
        }
    }
}

;-)

0
ioanna.konova avatar ioanna.konova 47 Точки

А можеш ли да ми обясниш каква разликата между моя и този код?

0
Axiomatik avatar Axiomatik 2422 Точки
  • It ends with a capital letter

70% :

            string barcodePattern = @"^@#+([A-Z][A-Za-z0-9]{4,}[A-z])@#+$";

100% Party :

            string barcodePattern = @"^@#+([A-Z][A-Za-z0-9]{4,}[A-Z])@#+$";

;-)

1
daniel123123 avatar daniel123123 27 Точки

C# 100/100 

using System;
using System.Text.RegularExpressions;
class Program {
    static void Main() {
        for (int n = int.Parse(Console.ReadLine()); n > 0; n--) {
            var m = Regex.Match(Console.ReadLine(), "@#+[A-Z][A-Za-z0-9]{4,}[A-Z]@#+");
            if (m.Success) {
                var num = Regex.Matches(m.Value, "[0-9]");
                Console.WriteLine("Product group: " + (num.Count == 0 ? "00" : string.Join("", num)));
            } else Console.WriteLine("Invalid barcode");
        }
    }
}

 

1
Axiomatik avatar Axiomatik 2422 Точки

Very JS !

yes

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