Sha256: 886a3b006c7388317c4818e37fd340e093befd9b55b58c172cce63967ea1ab3c
Contents?: true
Size: 851 Bytes
Versions: 112
Compression:
Stored size: 851 Bytes
Contents
struct Diamond { static let alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".characters.map { $0 } static func makeDiamond(letter: Character) -> [String] { guard let index = alphabet.index(of: letter) else { return [] } let numberOfLines = index * 2 + 1 let middle = numberOfLines / 2 var result = [String]() for lineNumber in 0..<numberOfLines { var line = "" for column in 0..<numberOfLines { let distanceFromMiddle = middle - abs(middle - lineNumber) if abs(middle - column) == distanceFromMiddle { line.append(alphabet[distanceFromMiddle]) } else { line.append(" ") } } result.append(line) } return result } }
Version data entries
112 entries across 112 versions & 1 rubygems