30代SEの自由帳

最初のタイトルは頓挫した

ヒューマン・リソース・マシーン 攻略 入社7年目 ゼロを取り除け

課題

「0じゃない」データをすべて右側に運んでください。

使用可能な命令

  • inbox
  • outbox
  • copyfrom
  • copyto
  • add
  • jump
  • jump_if_zero

初出命令

  • jump_if_zero
     手元のデータが0の時だけジャンプする。  
    パネルを手に持っていない状態で実施すると?  上司に怒られてお仕事中断(終了)。  

効率目標

  • サイズ:4行
  • スピード:23ステップ

ヒント

その1

0じゃないデータを運ぶ。逆に考えると?

回答例 + 解説

サイズ + スピード

回答例 + 解説

ラベル1// 1セットの開始位置
1. inbox
2. jump_if_zero:ラベル13. outbox
4. jump:ラベル1

今回はちょっと逆転の発想が必要。 左のパネルをとって(inbox)、0だったら運ばないで次へ(jump_if_zero) そうじゃないなら(=0じゃなかったら)右側に運ぶ(outbox) これを1セットとして、ひたすらに繰り返す(jump)

  

<前:6年目> <目次> <次:8年目>