Loading...
paskal06 avatar paskal06 2 Точки

[Programming Fundamentals] Extended - Strings and Text Processing - Exercises - 05. Points Counter

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

Решението ми дава 83/100. Мисля, че проблема ми идва от това, че не съм записал всеки играч отделно, тъй като ако се въведе играч със същото име трябва да се извади резултата му от общата стойност и да се добави новият, което съм го направил, но действа само ако играча, който съм въвел е с най-високия резултат. Пробвах да записвам всеки играч отделно, но задачата се заплете и стана 50/100. В момента съм я върнал на 83/100.

 

-решение https://pastebin.com/4DZsjfNF

 

5. Points Counter

Write a program, which receives data about a team, player and points.

Input

You can have two types of input:

  • {TEAM}|{Player}|{points}
  • {Player}|{TEAM}|{points}

The team name will always consist of uppercase Latin letters and the player name will always start with uppercase Latin letter and all other letters will be lowercase.

The team and player names might be polluted with some prohibited symbols (‘@’, ‘%’, ‘$’ and ‘*’). You have to delete every occurrence of these symbols in every team and player name.

Then, calculate every team’s total score. Every team’s total score equals to the total sum of the points made by every player in the team.

Output

When you receive the command “Result”, print all teams, ordered in descending order by the points they made and the player with most points in the team in the following format:

{teamName} => {totalSumOfPoints}

Most points scored by: {nameOfThePlayer}

In case of repeating player names for one team, save the value, which is received last.

Constraints

  • The team names will be at least 2 characters long
  • The points for each player will be in the interval [1…100]

Examples

Input

Output

LA|Bryant|70

L%@A|Odom|67

James|%CAVA@@LIE$$$RS|54

C@art%er|GR%%IZZ%%LIE@S@@@|49

Anthony|KNICKS|11

UTAH|Jo%%%%hn$$so@@n|24

S@@PU*R*S$|Ga***so**l|32

Jone@@@@s|KNICKS|5

Result

LA => 137

Most points scored by Bryant

CAVALIERS => 54

Most points scored by James

GRIZZLIES => 49

Most points scored by Carter

SPURS => 32

Most points scored by Gasol

UTAH => 24

Most points scored by Johnson

KNICKS => 16

Most points scored by Anthony

SO@@@FTU%*NI|P*&@esho|30

SO$$FT*UNI|Gos%@ho|42

PAARTHURNAX|Maria|35

S*OFT$$$UNI|Iv****@an|3

L@u*b%o@|HE***RO@@ES|11

Result

SOFTUNI => 75

Most points scored by Gosho

PAARTHURNAX => 35

Most points scored by Maria

HEROES => 11

Most points scored by Lubo

Тагове:
0
Programming Fundamentals 01/08/2017 09:37:12
Danny_Berova avatar Danny_Berova 205 Точки
Best Answer

Виждам, че ти е доста усложнен кода, може би защото е с класове и обекти. Ако искаш погледни и моя, но аз го правих с вложен речник, че да ги поупражня малко, както и стрингообработката. Трябва да презаписваш последната стойност на всеки играч, а не да я добавяш - на ред 39 и ред 60 в Pastebin кода ти. После обаче как ще сумираш всички Points за всеки Тийм трябва да го измислиш, че функциите на вложени речници и речници с обекти май имаха разлики при Sum(). Ето и моя код: https://github.com/DannyBerova/Exercises-Programming-Fundamentals-Extended-May-2017/blob/master/StringsAndTextProcessing-Exercises/5.PointsCounter/05.PointsCounter.cs

1
why_where_what avatar why_where_what 118 Точки

Здравей отново. Съжалявам, но нямам време да разгледам подробно решението ти в момента. Но щом дава 83/100, значи е нещо малко. Препоръчвам ти да използваш методи за някои неща, защото задачите стават по-четими и разбираеми.
Ето моето решение --> https://github.com/whywherewhat/PFundExtendedMay2017/blob/master/13.StringsAndTextProcessing-Exercises/05.PointsCounter/Program.cs

 

0
alex_dimitrov2000 avatar alex_dimitrov2000 21 Точки

Аз също получавах 50/100 на тази задача и пролемът ми беше ето в този ред: In case of repeating player names for one team, save the value, which is received last. Не трябва да добавяме точките при повтарящ се играч, а трябва да записваме последните точки. Като го оправих взех 100/100.

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