Προς το περιεχόμενο

Παζλ σε συνέντευξη


dark_banishing

Προτεινόμενες αναρτήσεις

Δημοσ.

Ποτέ δεν κατάλαβα στη ζωή μου προβλήματα που έχουν παραπάνω από μια λογικές λύσεις.

 

Προσωπικά τα θεωρώ βλακείες και όχι προβλήματα.

Και δυστυχώς με έχουν ταλαιπωρήσει πολλές φορές.

Συνήθως στηρίζονται στο ότι εννοείται η τάδε περίπτωση και όχι οι άλλες. Λες και είσαι μάγος να βρεις τι έχει στο μυαλό του ο καθένας

Δημοσ.

Συμφονω με τον smilefreeware. Τι παζλ και ΧαΧΧΧιες. Κυριε Company θες developer ? Ωραια δωσε μου ενα prj να στο υλοποιεισω, και βλεπουμε αν σου κανω. Τελος.

Τετια κανουν οι ετερειες στην Ελλαδα, με αποτελεσμα να μην εξαγουμε κανα λογισμικο.

Το λεω αυτο, επειδη δουλεβω ως κουριερ τωρα τελευταια' και μας εχουν ανανκγασει να χρησιμοποιουμε PDA με ενα ελληνικο λογισμικο. Ενα σας λεω, 19/20 κουριερ δωσανε 1/4 των αποστολων και μπικανε μεσα 30~150 ευρο επειδη ετσι λεει το προγραμμα.

Το προγραμμα ειναι γραμενο σε .Νετ

Εχει verision 5.0.0.0 (χαα0χ0α0χ0α0χ0αχ0α ουτε τη ver δε ξερουν)

Σε μερικα control βλεπω κατι ακυρα lable1 , button5 και αλλα πολλα τετια (ελεος)

Και τωρα απο λιτουργικοτητα ... εμενα μου crashare τουλαχιστον 27 φορες μεσα στο 8ωρο

 

#Ο ενας κουριερ δε πηρε PDA

Δημοσ.

Αλλά δεν υπήρχε κενό ανάμεσα στο Fish και στο Chips.

Αλλά δεν υπήρχε κενό ανάμεσα στο Fish και στο KAI και στο ΚΑΙ και στο Chips.

 

Το τι περιέχει το κείμενο είναι τελείως αδιάφορο, δεν είναι δουλειά του προγραμματιστή να το αναλύσει.

 

1) Κάνω split τις λέξεις με βάση το κενό.

2) Κάνω split εάν υπάρχει Upper Case μέσα στην λέξη. (δηλαδή στο FishAndChips το A και το C)

3) Τα κάνω όλα lower case.

4) Μετράω τις εμφανίσεις.

 

Εγώ θα τους έφτιαχνα μια διαδικασία που να δέχεται παραμέτρους

α) τους delimiters (άρα όχι συγκεκριμένα το κενό ή το newline μόνο, π.χ. και η παρένθεση συνήθως θεωρείται delimiter),

β) το αν θα είναι case sensitive ή όχι,

γ) και φυσικά το κείμενο,

και η οποία τελικά θα επίστρεφε ένα πινακάκι (ή map ή associative array ή dictionary κτλ ανάλογα τη γλώσσα) με τις συχνότητες εμφάνισης των λέξεων.

 

Για το (2), δεν πιστεύω ότι πρέπει να κάνεις split αν υπάρχει upper case εντός της λέξης. Δεν είναι δουλειά του προγραμματιστή να κάνει τέτοιες παράλογες υποθέσεις. Δηλαδή αν η είσοδος είναι ένα πρόγραμμα Java που χρησιμοποιεί camelCase, ή ένα άρθρο της WikiPedia που χρησιμοποιεί TitleCase, θα σπας τις λέξεις στη μέση και θα τις μετράς; Π.χ. WikiPedia => wiki και pedia? Δε νομίζω ότι θα βοηθούσε αυτό κάπου, αντίθετα θα δημιουργούσε προβλήματα.

  • Moderators
Δημοσ.
Το νόημα του κειμένου δεν πρέπει να μας ενδιαφέρει. Για να απαντηθεί το ερώτημα χρειάζεται μόνο ένα case-insensitive word counting one-liner. Αν αυτοί περιμένουν κάτι άλλο, δεν έχουν εκφράσει το ερώτημα σωστά.

 

Και εγώ συμφωνώ με τον Nske. Αλλά δεν θεωρώ ότι υπάρχει ενδεχόμενο να περιμένουν κάτι άλλο. Νομίζω, μάλιστα, ότι το να μπεις στη διαδικασία να ερμηνεύσεις και μετά να κάνεις το word count, τότε αυτόματα κατατάσσεσαι στους μη υποψήφιους για τη δουλειά.

 

Με άλλα λόγια θέλουν να δουν αν θα κάνεις ακριβώς ότι σου ζητάει το specification και δεν θα σε αποσπάσουν άλλα πράγματα (που θα περιπλέξουν το πρόβλημα και τη λύση του και τελικά δεν θα κάνουν αυτό που σου ζήτησαν εξ αρχής).

Δημοσ.

Λοιπόν, πως θα το αντιμετώπιζα εγώ (pseudo-code)

 

1) Loop για κάθε γραμμή (με βάση το new line character)

2) Σε κάθε γραμμή τώρα, κάνω split τις λέξεις με βάση το κενό

3) Για κάθε λέξη, της αφαιρώ την τελεία, αν υπάρχει. Δηλαδή από το

"place." που θα το λάβει σαν μια λέξη αφαιρώ το "."

4) Κάνω την λέξω uppercase ή lowercase.

5) Κρατάω ένα map με τις εμφανίσεις κάθε λέξεις και αυξάνω τον counter

 

Σε γενικές γραμμές δηλαδή, περίπου όπως πρότειναν και τα παιδιά παραπάνω.

 

Με μια high level language, όπως η Python ή η Java, γίνεται σχετικά απλά.

 

Να επισημάνω βέβαια, ότι μια εταιρεία που χρησιμοποιεί τέτοια puzzles

 

(που είναι καθαρό copy-paste όπως αναφέρθηκε), δε μου κάνει και την καλύτερη

 

εντύπωση. Ψάξε λίγο τις εργασικές συνθήκες (περιβάλλον/κλίμα) πριν πάρεις

 

την απόφαση.

 

PS: Αν θες, στείλε με PM το όνομα της εταιρείας, just for reference.

Δημοσ.

Λοιπόν..

 

Αρχικά να πω ότι το παζλ δεν είναι κλεμμένο. Δεν είναι το ίδιο με τα λινκ που έδωσε ο μουργολίκος. Επίσης ξέχασα να σας πω ότι πάνω πάνω λέει "Crack the nut" με μεγάλα κεφαλαία γράμματα.

 

Έπειτα, επειδή το below text δεν έχει παρενθέσεις κλπ μάλλον δεν χρειάζεται να πάρω τέτοιες περιπτώσεις. Αυτό του alkisg ακούγεται το πιο καλό να κάνω δηλαδή συνάρτηση, ώστε αν κάποτε θέλω να μπορώ να βάλω να χωρίζει με άλλο τρόπο.

 

Κατά τα άλλα σε python βγαίνει σε τρεις γραμμές κώδικα. Θα το σκεφτώ λιγάκι ακόμα και θα τους στείλω δυο απαντήσεις όπως είπε ο nske, νομίζω είναι μια καλή ιδέα.

 

Τέλος να πω ότι δεν λέει στην εκφώνηση ότι θέλουν να τους γράψω κώδικα, ούτε σε τι γλώσσα το θέλουν. Απλά το υποθέτουμε.

 

Θα γράψω και την απάντηση που ήθελαν, όταν μου απαντήσουν.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...