Skip to content

Latest commit

 

History

History
38 lines (32 loc) · 1.06 KB

duck_duck_goose.md

File metadata and controls

38 lines (32 loc) · 1.06 KB

Description

The objective of Duck, duck, goose is to walk in a circle, tapping on each player's head until one is chosen.

Task: Given an array of Player objects (an array of associative arrays in PHP) and an index (1-based), return the name of the chosen Player(name is a property of Player objects, e.g Player.name)

Example:

duck_duck_goose([a, b, c, d], 1) should return a.name
duck_duck_goose([a, b, c, d], 5) should return a.name
duck_duck_goose([a, b, c, d], 4) should return d.name
// PHP only
duck_duck_goose([$a, $b, $c, $d], 1); // => $a["name"]
duck_duck_goose([$a, $b, $c, $d], 5); // => $a["name"]
duck_duck_goose([$a, $b, $c, $d], 4); // => $d["name"]

My Solution

def duck_duck_goose(players, goose)
  players[goose % players.size - 1].name
end

Better/Alternative solution from Codewars

def duck_duck_goose(players, goose)
  players.cycle.take(goose).last.name
end