Adott egy forrás, melyben telefonhívások adatai szerepelnek. A forrásból itt egy részlet:
szam;hivaskezdet +36717801274;9:21:36 +36315620707;16:19:12 +36317076981;0:43:12 +36712400527;13:26:24 +36403118255;10:48:00 +36717722730;22:04:48 +36318342622;22:48:00 +36512495993;12:43:12 +36525791218;6:14:24
A forrás két oszlopot tartalmaz, első a hívott számot jelenti, a második a hívás kezdete. Egyéb információk:
- Ha a telefonszámok körzetszáma 21, 31, 71-es szám, akkor az mobilhívásnak minősül, minden más körzetszám vezetékes.
- Csúcsidőnek minősül az az időszak, mely 8 órakor kezdődik, és 18 óra előtt fejeződik be. Vagyis egy 17:59:59-kor indított hívás még csúcsidejű, de a 18:00:00-kor kezdődő már nem.
A feladat, hogy írd, hogy óránként hány hívás volt csúcsidejű, nem csúcsidejű, mobil, vezetékes az alábbi formában:
0. ora: 0, 1, 1, 0 1. ora: 0, 0, 0, 0 2. ora: 0, 0, 0, 0 3. ora: 0, 0, 0, 0 4. ora: 0, 0, 0, 0 5. ora: 0, 0, 0, 0 6. ora: 0, 1, 0, 1 7. ora: 0, 0, 0, 0 8. ora: 0, 0, 0, 0 9. ora: 1, 0, 1, 0 10. ora: 1, 0, 0, 1 11. ora: 0, 0, 0, 0 12. ora: 1, 0, 0, 1 13. ora: 1, 0, 1, 0 14. ora: 0, 0, 0, 0 15. ora: 0, 0, 0, 0 16. ora: 1, 0, 1, 0 17. ora: 0, 0, 0, 0 18. ora: 0, 0, 0, 0 19. ora: 0, 0, 0, 0 20. ora: 0, 0, 0, 0 21. ora: 0, 0, 0, 0 22. ora: 0, 2, 2, 0 23. ora: 0, 0, 0, 0
Azt vedd figyelembe, hogy egy hívás több kategóriába is tartozhat. Egy csúcsidejű hívás egyben mobil vagy vezetékes is.
Pingback: Java egyperces – Kombinált megszámlálás megoldása |
“Csúcsidőnek minősül az az időszak, mely 8 órakor kezdődik, és 18 óra előtt fejeződik be”
és
“17:59:59-kor indított hívás még csúcsidejű”
A hívásnak csak KEZDŐDNIE kell 18:00 előtt ugye, nem kell hogy 18:00 előtt FEJEZŐDJÖN is BE?
A hívás végét nem is tudjuk..
Így van, csak a hívás kezdete számít, ez dönti el, hogy a csúcsidőbe tartozik-e a hívás.