採用活動
正解者にはインターンシップへご招待!~マイナビエンジニアからの挑戦状~
概要
こんにちは!システム統括本部(現デジタルテクノロジー戦略本部)のS.Dです。
突然ですが、このブログ記事を見てくれている学生のみなさんへの挑戦状として、
僕が考えたオリジナル問題にチャレンジしていただきたいと思います!
問題をクリアされた方には、
8月から開催される開発エンジニア向けのインターンシップに招待させていただきます。
※正解者が多数出た場合は先着順となります
E問題の入力ファイルから、答えを作って回答フォームから提出してください!
E_input
回答は以下のフォームから送信をお願いいたします。
https://docs.google.com/forms/d/e/1FAIpQLSfxBXALs2NxyVJLtinGR8WCbuvMY661QmKUuQ0Xl93FygMMig/viewform
回答期限は5/28(金)になります。みなさんの挑戦をお待ちしています!
※5/31追記※
たくさんのご回答ありがとうございました!解説は以下の記事に掲載しております。
問題一覧
A. Suzuki String
問題
英小文字からなる文字列 S が与えられます。S の中に部分文字列 "suzuki" はいくつ登場しますか。
制約
1 ≤ |S| ≤ 100
入力
出力
suzuki
が登場する回数を出力してください。
入力例
出力例
B. Suzuki Coin
問題
鈴木さんはマイナビットコインを保有し、運用しています。現在、マイナビットコインはバブルの真っ只中で、1日あたり P %の割合で価値が上昇しています。今日のマイナビットコイン・円レートは1マイナビットコイン=1円です。鈴木さんが今日 X マイナビットコインを保有しているとき、鈴木さんの保有するマイナビットコインの価値が Y 円以上になるのは、今日から何日後でしょうか。
※円のインフレ・デフレは無いものとします。
制約
1 ≤ |X| ≤ 100000
1 ≤ |Y| ≤ 100000
1 ≤ |P| ≤ 100
P ∈ ℕ
入力
出力
マイナビットコインの価値が Y円以上になるのに要する日数を出力してください。
入力例
出力例
C. Suzuki Walk 1
問題
鈴木さんは、本社から出発して、N個のマイナビの拠点を全て1度ずつ周り本社に戻ってこようと計画しました。各拠点には、N個のユニークな文字がつけられています。拠点間には辺があります。辺は、有向で逆方向へは向かうことはできません。鈴木さんが拠点間を移動するには、料金を支払わなければなりません。鈴木さんは、最小の料金を払って拠点を周りたいと考えています。最小の料金と、鈴木さんの移動経路を出力してください。
制約
1 ≤ N ≤ 7
入力
c0, c1, ..., cN-1
t
A0, B0, W0
A1, B1, W1
.
At-1, Bt-1, Ct-1
N: 拠点数
1 ≤ N ≤ 7
s: スタート地点(本社)
0 ≤ s ≤ n-1
c: 拠点の文字
t: 辺の数
0 ≤ t ≤ n*(n-1)
Ai, Bi, Wi: AiとBiをつなぐ料金Wiの辺
0 ≤ Ai ≤ n-1
0 ≤ Bi ≤ n-1
0 ≤ Wi ≤ 10,000
出力
最小の料金と、鈴木さんの移動経路を出力してください。
入力例
a b c
6
0 1 2
0 2 3
1 0 4
1 2 6
2 0 5
2 1 7
出力例
abca
D. Suzuki Work
問題
鈴木さんは、2日間でやらなければならないタスクがn個あります。それぞれのタスクにかかる時間は、Aiです。鈴木さんは、タスクを2つに分けて、今日と明日行おうとしています。鈴木さんはわがままなので、Aからいくつかのタスクを取り除いて、今日と明日のタスクにかかる時間を同じにしたいです。Aから取り除くタスクの数の最小値を求め、2つのタスクを表示してください。
※複数の解答が存在する場合、どの解答を出力しても大丈夫です。
制約
2≤n≤100
1≤Ai2000
入力
A1, A2, .., An
出力
1行目:取り除くタスクの数
2行目:分割したタスク1の数
2行目:分割したタスク1
3行目:分割したタスク2の数
4行目:分割したタスク2
入力例
3 6 3 9 12
出力例
3
3 6 3
1
12
E. Suzuki Walk 2
問題
この問題は、C問題と同じ内容ですが制約が異なります。鈴木さんは、本社から出発して、n個のマイナビの拠点を全て1度ずつ周り本社に戻ってこようと計画しました。各拠点には、n個のユニークな文字がつけられています。拠点間には辺があります。辺は、有向で逆方向へは向かうことはできません。鈴木さんが拠点間を移動するには、料金を支払わなければなりません。鈴木さんは、最小の料金を払って拠点を周りたいと考えています。最小の料金と、鈴木さんの移動経路を出力してください。
制約
1 ≤ n ≤ 17
入力
c0, c1, ..., cN-1
t
A0, B0, W0
A1, B1, W1
.
At-1, Bt-1, Ct-1
N: 拠点数
1 ≤ n ≤ 17
s: スタート地点(本社)
0 ≤ s ≤ n-1
c: 拠点の文字
t: 辺の数
0 ≤ t ≤ n*(n-1)
Ai, Bi, Wi: AiとBiをつなぐ料金Wiの辺
0 ≤ Ai ≤ n-1
0 ≤ Bi ≤ n-1
0 ≤ Wi ≤ 10,000
出力
最小の料金と、鈴木さんの移動経路を出力してください。
入力例
a b c
6
0 1 2
0 2 3
1 0 4
1 2 6
2 0 5
2 1 7
出力例
abca
F. Suzuki Crypt
問題
,"(tzc(ydo(ihwglo0
mclr zhz drilcw bcjq
mclr zwcdoj drilcw sdjdwz) itovwtbwdlo) bzvdd$ulnpcvbzp) bzvdd$tiipcvbzp
spm zgtmmups?z{ zwc* |; zwc{
wbcjpw ` udzw?z*
zgtmmup?wbcjpw*
cpwtco [[=aldo?wbcjpw*
spm vchiw?iubdowpkw{ zwc* |; zwc{
spm vloqpcw$sdvw?b{ dow) y{ dow) z{ zwc*{
cpwtco sdvw??v) z:?d } b > y* @ upo?z*^* mlc d) v do potrpcbwp?z**
b) y ` 4820) 4
vloqpcw$wbyup ` .\
vloqpcw$wbyup=tisbwp?vloqpcw$sdvw?b) y) sdjdwz**
vloqpcw$wbyup=tisbwp?vloqpcw$sdvw?b) y) itovwtbwdlo**
vloqpcw$wbyup=tisbwp?vloqpcw$sdvw?b) y) bzvdd$ulnpcvbzp**
vloqpcw$wbyup=tisbwp?vloqpcw$sdvw?b) y) bzvdd$tiipcvbzp**
vdipcwpkw ` [[=aldo?vloqpcw$wbyup=jpw?vg) vg* mlc vg do iubdowpkw*
cpwtco vdipcwpkw
spm rbdo?*{
dm upo?bcjq* `` 4{
icdow?[mubj{wgpjluspoytj[*
puzp{
icdow?vchiw?lipo?bcjq:4^*=cpbs?***
dm $$obrp$$ `` ~$$rbdo$$~{
rbdo?*
鈴木さんは、よくこのような暗号を自作します。
この暗号は、元の文字と、暗号化した文字の写像は、一対一に対応しています。
たとえば、元の文字がd
のものは暗号化された文章ではs
となっています。
元の文章の文字の種類をN種類とすると、一対一に対応している為、暗号化した文章の文字の種類もN種類です。
鈴木さんは、この暗号化の効果を測定しようとしています。
A[i]を、元の文章の文字を数値化したもの、B[j]を暗号化した文章の文字を数値化したものとします。
c[k]を、k = i+j となるような (i,j,k)で、C[k] = A[i]+B[j]とします。
このとき、この暗号化の効果は、max(C[k])です。
A[i],B[j]が与えられます。
暗号化の効果を求めてください。
答えは、非常に大きくなることがあるので、1000000007 で割ったあまりを求めてください。
(上の暗号も解読してください)
入力
A0,A1,..,A(N-1)
B0,B1,...,B(N-1)
1 ≤ N ≤ 100005
1 ≤ A[i] ≤10^9
1 ≤ B[i] ≤10^9
N:文字の種類
A[i]:元の文章の文字を数値化したもの
B[i]:暗号化した文章の文字を数値化したもの
出力
暗号化の効果を求めてください。
答えは、非常に大きくなることがあるので、1000000007 で割ったあまりを求めてください。
(上の暗号も解読してください)
お問い合わせ先
株式会社マイナビインターンシップ事務局
TEL:03-6267-4134
MAIL:kr-internship@mynavi.jp
※本記事は2021年05月時点の内容です。