アルゴリズム – 124国の数字

問題説明

124国が存在します。124国では10進数ではなく次のような124国ならではのルールで数字を表現します。

  • 124国では自然数だけ存在します。
  • 124国では全ての数字を表現するときは1,2,4だけ使います。

そのとき、自然数nがパラメータとして与えられる時のnを124国で使われる数字で変換した値を返すsolutionメソッドを作成してください。

条件

  • nは500,000,000以下の自然数です。

入出力例

10進数124国10進数124国
11614
22721
34822
411924
5121041

解説

  • 7行目:nが0の場合は0なので、1以上からループします。
  • 8行目:1,2,4のため、3で割り算を行い、余りを保存します。
  • 12行目:Carryがあることで、-1をします。
  • 20行目:順番にappendしていたので、返す時に逆転して返します。

他の人の解説

  • 1,2,4を配列に持たせて処理を行いますね。
  • 個人的にはループでの文字列結合はStringBuilderを使った方がパフォーマンス面でかなり早いと思います。nが500,000,000かもしれないので。

コメントを残す