私はコード戦争のいくつかの課題を解決しようとします。私は列のタイトル(Excelで発生)を返すメソッドを作成する必要があります。メソッドは1つのパラメータを取得します。たとえば、次のようにExcelの列のタイトルを取得するには?
def get_column_title(n)
//code
end
場合、それはA.
テストケースを返す必要があります= 1である。n:
Test.assert_equals(get_column_title(1), "A")
Test.assert_equals(get_column_title(26), "Z")
Test.assert_equals(get_column_title(52), "AZ")
Test.assert_equals(get_column_title(53), "BA")
Test.assert_equals(get_column_title(702), "ZZ")
私が持っているもの:
def number_values
{
1 => 'A', 2 => 'B', 3 => 'C', 4 => 'D', 5 => 'E', 6 => 'F', 7 => 'G',
8 => 'H', 9 => 'I', 10 => 'J', 11 => 'K', 12 => 'L', 13 => 'M', 14 => 'N',
15 => 'O', 16 => 'P', 17 => 'Q', 18 => 'R', 19 => 'S', 20 => 'T',
21 => 'U', 22 => 'V', 23 => 'W', 24 => 'X', 25 => 'Y', 26 => 'Z'
}
end
def translate_values
if @n <= 26
number_values[@n-26*0]
elsif @n <= 52
'A'+ number_values[@n-26*1]
elsif @n <= 78
'B' + number_values[@n-26*2]
end
end
問題: このタスクをアルゴリズム的に解決する方法はわかりません。私はループで26を数で割ることを考えました。 タスクにアプローチする方法についていくつかのヒントを教えてもらえますか?運動の
出典: codewars.com
を出力http://stackoverflow.comを見ている場合/ a/182924/390819 – GolfWolf