Kezdőoldal » Számítástechnika » Programozás » Ha van egy lista,tele számokka...

Ha van egy lista,tele számokkal,amik 1től 10000ig bármekkorák lehetnek,akkor mi a "legszebb" megoldás arra,hogy összeszámláljuk,hogy egy adott számjegyből mennyi darab van?

Figyelt kérdés
Úgy csináltam,hogy a listán egy for ciklussal végigmenve számjegyenként és helyiértékenként számoltattam össze,úgy hogy pl. 1es a 1es helyiértéken akkor számolja bele,ha a szám maradékosan osztva 1el 1-a maradéka. 1 es számjegyet 10es helyiértéken úgy számoltam,hogy a számot százzal osztva a maradék legalább tíz,de kisebb mint 20. És így tovább. A feladatban megadott tesztértékekkel leteszteltem,jó értékeket adott. Azonban a kód elég hosszú lett. Van-e gyorsabb mód rá,vagy nincs?Arra akarok kilyukadni,hogy lehet-e szebb kóddal?
2021. szept. 23. 23:04
1 2 3
 21/27 A kérdező kommentje:
5-ös:2est akartam írni. Elírtam
2021. szept. 24. 07:13
 22/27 A kérdező kommentje:
C#on kéne.
2021. szept. 24. 07:15
 23/27 Pelenkásfiú ***** válasza:

A prog.hu-n leírták c#-ban.

Ott van a #12-es hsz.-ban.

2021. szept. 24. 08:01
Hasznos számodra ez a válasz?
 24/27 Pelenkásfiú ***** válasza:

#19 Köszi, a defaultdict-et megnézem. 3 napja kezdtem a Pythont. :)


Egyébként eredetileg így akartam, de este valamit elírhattam és nem futott le:

count = {str(x): 0 for x in range(0, 10)}

Így nem kell az ord() a számláláskor, kiíráskor meg úgy is mindegy, hogy stringként vagy számként hivatkozunk egy számjegyre.


A sebességteszt is érdekes. Thx!

2021. szept. 24. 08:12
Hasznos számodra ez a válasz?
 25/27 zozo256 ***** válasza:
75%

from collections import *

import random


Counter(str([random.randint(0, 100) for _ in range(10)]).strip("'[]").replace(', ', ''))

2021. szept. 25. 02:29
Hasznos számodra ez a válasz?
 26/27 anonim ***** válasza:
Kompakt megoldás, és jó gyors.
2021. szept. 25. 10:41
Hasznos számodra ez a válasz?
 27/27 anonim ***** válasza:
10.000.000 elemű tömb átpörgetése, és darab szerint kulcs-érték párban kirendezése 1,61 másodperc alatt szerintem nem rossz idő.
2021. szept. 25. 10:42
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!