2021/11/30

ヒューマン・リソース・マシーン 入社30年目−隠された暗号

目次

1)課題

左側のいくつかのアドレス番号があります。

それが指す文字を1文字目とし、それに続く文字を「0」に遭遇するまで、全て右側に運んで下さい。

2)考え方

入社29年目で学んだ間接指定を使っていきます. 左のコンベアにあるパネルには一文字目のアドレスを書いてあります. 例えば, 左のコンベアのパネルが「4」であれば, カーペットの4番「T」の文字から右のコンベアに運べば, 上司の要求に応えられます. 手順は次のようになります.

  1. 左のコンベアからパネルを取り出し, カーペットの24番に置く. 
  2. 間接指定により, カーペット24番が示すパネルを取る.
  3. 取ったパネルが「0」なら先頭に戻る.
  4. 「0」でなければ, 持っているパネルを右のコンベアに運ぶ.
  5. カーペット24番を1増やす. 
  6. 2行目に戻り, カーペットの次のパネルを取る.

3)実装

カーペットの24番に「アドレス」と名前を付けます. 上で考えた手順をそのままプログラムに落とし込みます. 

見ての通り, そのままです. これを実行すると課題をクリアーできます.

サイズ目標, スピード目標共にクリアーできました.

目次

0 件のコメント:

コメントを投稿

ヒューマン・リソース・マシーン 入社41年目−並べ替えよ

目次 1)課題 0を終端とした文字列がいくつか流れてきます。各文字列に対してソート(並べ替え)を行い、小さい順(昇順)に右側へ運んでください。 2)状況の確認 この問題では, 予めコードが入っています. このコードを実行して, 何をするコードなのか確かめます.  左のコンベアから...