TTsurutani / HackerRankExam

0 stars 0 forks source link

euler008:繰り返される入力の受け取り方&解法の効率化 #23

Open TTsurutani opened 7 years ago

TTsurutani commented 7 years ago

2 (T) 10 5 (N K) 3675356291 (10^K) 10 5 2709360626 先頭はケース数(無視で可)。数字二つのうち先頭は数字の桁数につき本体から算出しても良い。 二つ目が肝で、連続する桁数の指定。 おそらく、生成可能な数列の数はN-K+1

愚直に解くなら、リストの先頭から一桁づつずらしながら計算した結果のリストの中から最大を求める 要素数の最大は1000-2+1=999か?

TTsurutani commented 7 years ago

連続した数値を表す[Char]をInt変換して、積を求めて返す関数 →再帰→fold?

TTsurutani commented 7 years ago

ベタは方法で解けた。本家は正解だった。 組み合わせをリストにする→各要素の積を求める→maxをとる タイムアウトするようなら、左から順次勝ち負けを決めていく方式に変更してみる予定。

そもそも、入力が複数行に渡るパターンをうまく拾う汎用的な書き方を考えたい

TTsurutani commented 6 years ago

https://www.hackerrank.com/contests/projecteuler/challenges/euler008/problem