Challenge!
Q1
大きさは同じで重さが異なる商品が複数あるとします。この商品N個を、以下の条件にそって3つのトラックに分配するアルゴリズムを実装してください。
- この問いの条件 -
1. すべての商品は同一の大きさ、重さの箱に入り、箱は個別のIDを持つものとする
2. プログラム実行時は、コマンドライン引数で「箱ID」と「重さ」の情報を与え、プログラムの結果には各トラックに積載する「箱ID」を出力してください。たとえば 1:50 の文字列をコマンドライン引数で渡したときは、箱ID=1, 重さ=50kg の商品とする
3. 商品は箱に入った状態で列となって連続で運び込まれ、重さは持ち上げるまでわからず、尚且つ同時に1つしか持ち上げられない
4. それぞれのトラックには、なるべく重さが均等になるように分配する必要がある
5. それぞれのトラックの積載可能重量に制限はない
実行例
$ ruby solve.rb 1:50 2:30 3:40 4:10
truck_1:1
truck_2:2,4
truck_3:3
Check!
この問いで見ているポイントは?
詳しくみる
どんな業務に必要なスキルなのか?
詳しくみる
Q2
任意の数のモンスターがいます。APIサーバーにそのうちの2匹を指定すると、対戦をさせた結果を得ることができます。モンスターの強さは決まっていて、同じモンスター同士であれば、対戦の結果は常に変わりません。また、三すくみのような状態は考えないものとします。このAPIサーバーをつかって、モンスターを強い順に並べてください。
API アクセス例
$ curl https://ob6la3c120.execute-api.ap-northeast-1.amazonaws.com/Prod/battle/dragon+griffin
{"winner":"dragon","loser":"griffin"}
実行例
$ ruby solve.rb griffin vampire dragon troll medusa
Check!
この問いで見ているポイントは?
詳しくみる
どんな業務に必要なスキルなのか?
詳しくみる
Q3
APIサーバーのアプリケーションに性能改善を目的としてキャッシュを導入するとします。アプリケーションのどの部分に、どのような手法でキャッシュを導入するのか記述したうえで、なぜその手法を導入するのか、メリットやデメリットを挙げて説明してください。
Check!
この問いで見ているポイントは?
詳しくみる
どんな業務に必要なスキルなのか?
詳しくみる
クックパッドの新規事業は
求めています