Loading...
EricDraven avatar EricDraven 275 Точки
Best Answer

Това е твоето решение с минимални промени за да работи.

Splita на двете места ти беше различен, и беше забравил сортирането по JarCount;

Fix

това тук е с още малко промени за да е по подредено, Split само на едно място и четене от конзолата само на едно място

Fix +

Ако искаш питай допълнителни неща, ще се опитам да обяснявам :)

 

EDIT:

ето още едно с изнесен код в два метода

Methods Variant

1
28/05/2018 10:21:11
ventsislav83 avatar ventsislav83 1 Точки

Благодаря !

Разбрах къде бъркам.

0
Vesso1980 avatar Vesso1980 486 Точки

Незнам, дали правилно разбирам въпроса ти, но предполагам питаш, ако ключът вече съществува искаш да добавиш новото value към старото? Ако е това което питаш то тогава би било:

yourDictionary[outerKey][innerKey] += newValue;

Като съответно outerKey и innerKey ти са ключ на външен и ключ на вътрешен речник.

1
28/05/2018 00:52:40
Quake3 avatar Quake3 546 Точки

Това трябва да е "Най-добър отговор", тъй като, отговаря съвсем точно на първоначално зададения въпрос и е най-ранен по време.

0
Vesso1980 avatar Vesso1980 486 Точки

Ами така е преценил човека :).

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

list вътре където ти се повтаря ключа нещо от сорта на Dictionary<string,Dictionary<string,List<string>>>....

за да запазиш  стойноти на повтарящ се ключ ти трябва list които да държи values  array също става но само ако знаеш предварително колко ще са list е  flexible и можеш да добавяш колкото си искаш.иначе ако искаш да ги събереш както в показал колегата

0
28/05/2018 03:47:41
ventsislav83 avatar ventsislav83 1 Точки

 Хмм пробвах, но нещо не се получава. 

 

Ако имате възможност да погледнете кода: https://pastebin.com/qU1XsFNz

На входа имам 

Morgana -> Truelock: 2

Morgana -> Truelock: 89

изхода трябва да получа 

Truelock: 91 т.е да съберя двете Value на един и същи key.

 

Това е условието:

 

1.History

Hey, it’s been a while and your friend and some of his friends from the parallel universe are coming home and they have something very interesting for you. They found that thanks to the different types of raindrops there are also different types of water. They are coming with packs full of jars holding different types of water. However, there is a small problem... they have placed all the jars in only one bag and… this bag is going to arrive a week later… They don’t like to unpack everything because they are lazy, so they send you a message in which is described which jar to whom belongs. Your job is to create a machine which unpacks the bag and separates the jars in a pile for every person. How does the machine know how to separate the jars? You must implement an algorithm which organizes the information from the message.

2.Description

You must read input lines until you receive the termination command “End”. On every input line (except the termination one) you will receive information in the following format:

“{person name} -> {liquid name}: {jars count}”

You must split the input and extract the needed information. Everything will be valid in the format described in the Input section.

You must collect all the different types of liquids for a person and sum the count of jars of every liquid for every person.

Input

The information will be in the following format:

  • Person name – unique string which will not contain any of the characters that you have to split by (space, ‘-’, ‘>’, ‘:’)
  • Liquid name – unique string which will not contain any of the characters that you have to split by (space, ‘-’, ‘>’, ‘:’)
  • Jars count – integer number in range [0 … 100]

Output

You must print all liquids for a single person with their count of jars.

Order the people by their name (ascending) and the liquids by their count (ascending).

{Person Name} Liquids:

--- {Liquid Name}: {Count}

--- {Liquid Name}: {Count}

 

 

 

Examples:

Input

Output

Description

Morgana -> Truelock: 2

Morgana -> Truelock: 89

Garrard -> Perigeaux: 96

Morgana -> Tott: 36

Arleta -> Sinnie: 15

Arleta -> Hutchin: 21

Emlyn -> Winslett: 92

Arleta -> Eam: 68

End

Arleta Liquids:

--- Sinnie: 15

--- Hutchin: 21

--- Eam: 68

Emlyn Liquids:

--- Winslett: 92

Garrard Liquids:

--- Perigeaux: 96

Morgana Liquids:

--- Tott: 36

--- Truelock: 91

Arleta is first because of the ordering (by names). The liquids are ordered by count of jars (ascending).

Input

Output

 

Dino -> Wasiel: 100

Hallie -> Bellefonte: 50

Hallie -> Bellefonte: 25

Hallie -> Bellefonte: 25

Dino -> Banana: 94

Dino -> Banana: 6

End

Dino Liquids:

--- Wasiel: 100

--- Banana: 100

Hallie Liquids:

--- Bellefonte: 100

 

 

0
traykova44 avatar traykova44 93 Точки

А аз ще помоля за един примерен код, който дава 100/100.

Благодаря!

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

ако погледнеш в отговорите Ерик ви е пуснал 2 100/100 решения едното изчистено другото просто редактирано.. И като цяло това е пълен айляк тая задача.. Честно четете поне коментарите е хора не просто да пишете...

1
VasilKos avatar VasilKos 17 Точки

Здравейте, темата е стара - още от 2019 но за C#. На JAVA не открих решение. 

Toва е кодът ми:  Nested - Pastebin.com

По-долу е условието. Ако може помощ за принтирането. Май и пълненето на ре4ниците не е ок.

 

Description

You must read input lines until you receive the termination command “End”. On every input line (except the termination one) you will receive information in the following format:

“{person name} -> {liquid name}: {jars count}”

You must split the input and extract the needed information. Everything will be valid in the format described in the Input section.

You must collect all the different types of liquids for a person and sum the count of jars of every liquid for every person.

Input

The information will be in the following format:

  • Person name – unique string which will not contain any of the characters that you have to split by (space, ‘-’, ‘>’, ‘:’)
  • Liquid name – unique string which will not contain any of the characters that you have to split by (space, ‘-’, ‘>’, ‘:’)
  • Jars count – integer number in range [0 … 100]

Output

You must print all liquids for a single person with their count of jars.

Order the people by their name (ascending) and the liquids by their count (ascending).

{Person Name} Liquids:

--- {Liquid Name}: {Count}

--- {Liquid Name}: {Count}

 

 

 

Examples:

Input

Output

Description

Morgana -> Truelock: 2

Morgana -> Truelock: 89

Garrard -> Perigeaux: 96

Morgana -> Tott: 36

Arleta -> Sinnie: 15

Arleta -> Hutchin: 21

Emlyn -> Winslett: 92

Arleta -> Eam: 68

End

Arleta Liquids:

--- Sinnie: 15

--- Hutchin: 21

--- Eam: 68

Emlyn Liquids:

--- Winslett: 92

Garrard Liquids:

--- Perigeaux: 96

Morgana Liquids:

--- Tott: 36

--- Truelock: 91

Arleta is first because of the ordering (by names). The liquids are ordered by count of jars (ascending).

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