Ich habe versucht, das Problem bei der Erstellung von Ruby-Bingokarten zu lösen (es gibt ein Beispiel für die Antwort).

Einführung

"Einführung in Ruby für diejenigen, die professionell werden wollen" Ich bin ein Anfänger in der Programmierung, nachdem ich das sogenannte Kirschbuch gelernt habe. Als ich meine Hände bewegen und meine Eingaben in die Praxis umsetzen wollte, fand ich einen Artikel des Autors. "Wenn Sie Probleme mit dem Ausgabematerial haben !? Ich habe Programmierprobleme für Ruby-Anfänger gesammelt (insgesamt 10 Fragen)"

Ich habe versucht, dieses dritte Problem zu lösen.

Klicken Sie hier für weitere Probleme Erste Frage: Problem bei der Kalendererstellung (lustiges Ruby-Übungsproblem) Zweite Frage: Problem bei der Erstellung von Karaoke-Maschinen Dritte Frage: Problem bei der Erstellung der Bingokarte Vierte Frage: Problem mit Bonusgetränken Fünfte Frage: Problem bei der Erstellung des Telefonbuchs

Problem

Für Details von hier

B: Beliebig von 1 bis 15 I: Jeder von 16 bis 30 N: Beliebig von 31-45 G: Beliebig von 46-60 O: Beliebig von 61-75 Machen Sie die folgende Bingokarte gemäß der Regel.

B | I | N | G | O 13 | 22 | 32 | 48 | 61 3 | 23 | 43 | 53 | 63 4 | 19 | | 60 | 65 12 | 16 | 44 | 50 | 75 2 | 28 | 33 | 56 | 68

 > Die Ausgabe der Methode Bingo.generate_card muss zusätzlich zu den oben genannten Nummernregeln die folgenden Spezifikationen erfüllen.
 - Generieren Sie jedes Mal eine andere Karte.
 - Trennen Sie jede Spalte mit einem Rohr (|).
 --Nummern und "BINGO" -Zeichen werden rechtsbündig ausgegeben.
 - Der Speicherplatz wird in der Mitte ausgegeben (wo er KOSTENLOS wird).



# Antwortbeispiel
 Es stellte sich heraus, dass es so etwas war.

```ruby
class Bingo
  def self.generate_card
    title = "BINGO".split("").map{|bingo| sprintf("%2s",bingo)}.join(" | ")

    numbers = [*1..75].each_slice(15).to_a.map{|b| b.sample(5)}
    numbers[2][2] = "  "
    body = []
    for i in 0..4
      body << numbers.map{|number| sprintf("%2s",number[i])}.join(' | ')
    end

    [title,body].join("\n")
  end
end

schließlich

Die Antworten anderer Personen wurden ebenfalls unter dem folgenden Link veröffentlicht. Ruby-Wir freuen uns, die 3 besten Werke von "Bingo Card Creation Problem" bekannt zu geben!

Ich habe die Transponierungsmethode nicht verwendet, weil ich sie nicht kannte, aber wenn ich mir die Antworten anderer Leute anschaue, scheint es mehr Raum für Refactoring zu geben.

Wenn Sie eine Meinung haben, teilen Sie uns dies bitte in den Kommentaren mit. Vielen Dank.

Recommended Posts

Ich habe versucht, das Problem bei der Erstellung von Ruby-Bingokarten zu lösen (es gibt ein Beispiel für die Antwort).
Ich habe versucht, das Problem mit der Ruby-Karaoke-Maschine zu lösen (es gibt ein Beispiel für die Antwort).
Ich habe versucht, das Problem mit dem Ruby-Bonusgetränk zu lösen (es gibt ein Beispiel für die Antwort).
Ich habe versucht, das Problem der "mehrstufigen Auswahl" mit Ruby zu lösen
Ich habe versucht, das Problem des Google Tech Dev Guide zu lösen
Ich habe versucht, das Problem der Tribonacci-Sequenz in Ruby mit Wiederholung zu lösen.
Ich habe versucht, das Problem der Tribonacci-Sequenz in Ruby zu lösen (Zeitlimit 10 Minuten).
Ich habe die grundlegende Grammatik von Ruby kurz zusammengefasst
Ich habe versucht, das Paiza-Kampagnenproblem "Herausforderung von Phantomdieb 813" zu lösen.
Ich möchte den Rahmen des Textfelds rot machen, wenn ein Eingabefehler auftritt
Ich habe versucht, den CPU-Kern mit Ruby voll auszunutzen
[Java] Ich habe versucht, Paizas B-Rang-Problem zu lösen
05. Ich habe versucht, die Quelle von Spring Boot zu löschen
Ich habe versucht, die Kapazität von Spring Boot zu reduzieren
Ich möchte die Antwort der Janken-App wissen
Das Argument von link_to ist nil (null) und ein unerwarteter Link wurde generiert, daher habe ich versucht, ihn zu überprüfen
Da das Lesen von JdbcCodeList von TERASOLUNA langsam ist, habe ich versucht, mehrere gleichzeitig zu registrieren.
Ich habe die Serverseite des Online-Kartenspiels gemacht made
Ich habe versucht, eine Umgebung mit WSL2 + Docker + VSCode zu erstellen
[Ruby] Ich möchte die Reihenfolge der Hash-Tabelle umkehren
Ich habe das FizzBuzz-Problem ausprobiert
Ich habe versucht, mit Docker eine Plant UML Server-Umgebung zu erstellen
[Rubiy] Heute Abend habe ich versucht, die Schleifenverarbeitung zusammenzufassen [Zeiten, Pause ...]
Möchten Sie wissen, was Ruby n die Potenz von 2 ist? (Machturteil von 2)
Ich habe versucht zu verstehen, wie die Rails-Methode "redirect_to" definiert ist
Ich habe versucht, den Betrieb des gRPC-Servers mit grpcurl zu überprüfen
Ich habe versucht zu verstehen, wie die Rails-Methode "link_to" definiert ist
Ich habe versucht, die Methoden von Java String und StringBuilder zusammenzufassen
Ich habe versucht, einen Numeron zu erstellen, der mit Ruby nicht gut ist
Ich möchte den Wert von Attribute in Selenium of Ruby ändern
Ich habe versucht, die Methode zu erklären
Ich habe versucht, ein Beispielprogramm mit dem Problem des Datenbankspezialisten für domänengesteuertes Design zu erstellen
Ich habe einen LSP und habe versucht, eine Umgebung zum Schreiben von Java mit Vim (NeoVim) zu erstellen, aber ich konnte die IDE nicht übertreffen ...
Ich habe versucht, ein übergeordnetes Wertklasseobjekt in Ruby zu erstellen
Ich habe versucht, die wichtigsten Punkte des gRPC-Designs und der Entwicklung zusammenzufassen
[Ruby] Ich möchte nur den Wert des Hash und nur den Schlüssel extrahieren
[Einführung in Java] Ich habe versucht, das Wissen zusammenzufassen, das ich für wesentlich halte
Rufen Sie den Typ eines Elements eines Arrays ab, um festzustellen, ob es sich um ein Array handelt
So lösen Sie die lokale Umgebungskonstruktion von Ruby on Rails (MAC)!
Ich habe versucht, den Zugriff von Lambda → Athena mit AWS X-Ray zu visualisieren
[Ruby] Ich habe versucht, die häufigen Methoden in Paiza zusammenzufassen
[Ruby] Ich habe versucht, die häufigen Methoden mit paiza ② zusammenzufassen
Ich habe versucht, die Geschwindigkeit von Graal VM mit JMH zu messen und zu vergleichen
Da der Befehl du, der bei voller Kapazität verwendet wird, schwierig zu verwenden ist, habe ich versucht, ihn mit Rubin zu umwickeln
Ich habe versucht, AOJs binäre Suche zu lösen
Ich habe versucht, das Iterator-Muster zu implementieren
Ich habe versucht, die Stream-API zusammenzufassen
Was ist Docker? Ich habe versucht zusammenzufassen
Ruby: Ich habe versucht herauszufinden, wohin Nokogiri geht, um die Kodierung selbst zu sehen
Was ich versucht habe, als ich alle Felder einer Bohne bekommen wollte
Ich habe versucht, die Infrastrukturtechnologie der Ingenieure heutzutage mit dem Kochen zu vergleichen.
Turbolinks: Ich möchte das Problem lösen, dass JS nicht richtig angezeigt wird, es sei denn, es wird beim Übergang mit link_to neu geladen