Ruby API Problem

Frage 1

Erstellen wir eine Methode, die die Summe von drei beliebigen Zahlen ausgibt. Wenn jedoch die gleiche Nummer enthalten ist Es zählt nicht zur Gesamtsumme.

Ausgabebeispiel:

lone_sum([1, 2, 3]) → 6 lone_sum([3, 2, 3]) → 2 lone_sum([3, 3, 3]) → 0

Die Frage war diesmal eine schwierige und völlig fehlgeleitete Antwort! Ich war mir nicht sicher, ob sich die Argumente in einem Array befanden. Wenn die Anordnung jedoch als Tendenz erscheint, fühlt sich jeder Satz wie eine Eisenplatte an.

Unten ist die Antwort.

def lone_sum(ary)
  #Extrahieren Sie nur eindeutige Elemente aus dem Array
  uniq_nums = []
  ary.each do |num|
    count = 0
    ary.each do |i|
      if num == i
        count += 1
      end
    end
    if count < 2
      uniq_nums << num
    end
  end

  # uniq_Gesamt in nums Array
  sum = 0
  uniq_nums.each do |unique_num|
    sum += unique_num
  end

  puts sum

end
Kommentar

Erwägen Sie beispielsweise, eine Methode mit lone_sum ([3, 2, 3]) aufzurufen. ① ary = [3,2,3] ②ary.each do |num|Nehmen Sie dann den Inhalt des Arrays nacheinander heraus. ③ Die erste herausgenommene Zahl ist 3, also num = 3. ④ Die Sekunde jedes Satzes.each do |i|Dann ich= 3,2,Es wird 3. ⑤ Wenn der bedingte Ausdruck, wenn num (3 herausgenommen wird) == i ist, dh wenn sie dupliziert werden, erhöht sich die Anzahl. (6) Fügen Sie dem Array uniq_nums nur dann einen Wert hinzu, wenn sich in der 11. Zeile ein doppelter Wert befindet. Wenn num = 3, count = 2, wird dem Array uniq_nums kein Wert hinzugefügt. ⑦ Wenn Sie dies noch zweimal wiederholen, werden dem Array uniq_nums nur 2 hinzugefügt. ⑧ Die Summe im Array uniq_nums wird mit sum = 0 oder weniger geschrieben. ⑨ In diesem Fall ist sum = sum + 2, dh sum = 0 + 2. Schließlich wird die Summe als 2 ausgegeben.

Impressionen

Ich verstehe, aber wie lange wird es dauern, bis ein Niveau erreicht ist, in dem dies in Zukunft gelöst werden kann? Wenn jemand weiß, welche Art von Lernmethode verwendet werden kann, um der richtigen Antwort näher zu kommen, lassen Sie es mich bitte wissen. Im Moment kann ich nur lernen.

Recommended Posts

Ruby API Problem
Ruby API Problem
Rubinproblem ⑦
Ruby-Suchproblem
[Ruby] FizzBuzz-Problem
[Ruby] Problem mit der if-Anweisung
Ruby Deposit System, Algorithmus Problem
Problem bei der Kalendererstellung (lustiges Ruby-Übungsproblem)
Dieses Problem ist nüchtern schwierig ... (Ruby)
Rubin lernen 4
Ich habe ein Kalenderproblem mit Ruby versucht
[N + 1 Problem]
Rails API
Aufruf API [Aufruf]
Rubin lernen 5
Ruby-Grundlagen
Ruby Review 2
Rubinzusatz
Ruby lernen 3
FizzBuzz Problem
Ruby-Einstellung 2
Ruby lernen 2
Rubin lernen 6
Ruby-Einstellungen 1
Rubin lernen 1
[Problem] Aufeinanderfolgendes Urlaubswetter (Ruby Edition)
Ruby Review 1
[Competition Pro] Löse Rucksackprobleme mit Ruby
Versuchen Sie, den API-Schlüssel von Redmine mit Ruby zu erhalten