Kurzusok
/
SQLite
SQLite
/
Feladatok
/
Szószámlálás
Szószámlálás

Szószámlálás

Nehéz

Bevezetés

Angolt tanítasz idegen nyelvként középiskolásoknak.

Úgy döntöttél, hogy a teljes tantervedet tévéműsorokra építed. Elemezned kell, hogy mely szavak fordulnak elő, és milyen gyakran ismétlődnek.

Így ki tudod választani a legegyszerűbb műsorokat kezdésnek, és az idő múlásával fokozatosan növelheted a nehézséget.

Utasítások

A feladatod, hogy megszámold, hányszor fordul elő az egyes szavak egy dráma feliratában.

Ezeknek a drámáknak a feliratai csak ASCII-karaktereket használnak.

A szereplők gyakran hétköznapi angolul beszélnek, és olyan összevonásokat használnak, mint a they're vagy az it's. Bár ezek az összevonások két szóból származnak (pl. we are), az összevonás (we're) egyetlen szónak számít.

A szavakat bármilyen írásjel (pl. „:”, „!” vagy „?”) vagy whitespace (pl. „\t”, „\n” vagy „ ”) választhatja el. Az egyetlen írásjel, amely nem választja el a szavakat, az aposztróf az összevonásokban.

A számok szavaknak számítanak. Ha a feliratban az áll, hogy It costs 100 dollars., akkor a 100 külön szó lesz.

A szavaknál nem számít a kis- és nagybetű. Például a you szó háromszor szerepel a következő mondatban:

You come back, you hear me? DO YOU HEAR ME?

Az eredményben a szavak előfordulási számának sorrendje nem számít.

Íme egy példa, amely a fent tárgyalt elemek közül többet is felhasznál:

  • egyszerű szavak
  • összevonások
  • számok
  • szavak, amelyeknél nem számít a kis- és nagybetű
  • írásjelek (az aposztrófokat is beleértve), amelyek elválasztják a szavakat
  • különböző whitespace-ek, amelyek elválasztják a szavakat

"That's the password: 'PASSWORD 123'!", cried the Special Agent.\nSo I fled.

A felirat megfeleltetése a következő lenne:

123: 1
agent: 1
cried: 1
fled: 1
i: 1
password: 2
so: 1
special: 1
that's: 1
the: 2

A result oszlopban egy JSON-kódolt, objektumokból álló objektumnak kell szerepelnie, ahol minden szó egy kulcs, a hozzá tartozó darabszám pedig egy egész szám.

Vegyük például a fenti mondatot: "That's the password: 'PASSWORD 123'!", cried the Special Agent.\nSo I fled. Ehhez a bemenethez a result a következő kell legyen:

{"123":1,"agent":1,"cried":1,"fled":1,"i":1,"password":2,"so":1,"special":1,"that's":1,"the":2}

Tábla sémája

CREATE TABLE "word-count" (
    sentence TEXT NOT NULL,
    result   TEXT               -- json object
);

JSON-dokumentáció

JSON-függvények és operátorok


Forrás

Ez egy klasszikus gyakorlófeladat, de a Go Tourban látva újra eszünkbe jutott.
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
SQLite Exercism

Készen állsz elkezdeni a(z) Szószámlálás feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) SQLite nyelvet 81 feladat segítségével, valódi emberi mentorálással, mindez ingyen.