Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
kaibun.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
mizti
January 10, 2013
650
0
Share
kaibun.pdf
mizti
January 10, 2013
More Decks by mizti
See All by mizti
CutSticks.pdf
mizti
0
650
Maze Maker
mizti
0
610
「銀将ご乱心」
mizti
0
980
paint.pdf
mizti
1
630
dfs1.pdf
mizti
0
610
問題1. 解答例
mizti
0
510
2012/11/16 問題1
mizti
0
540
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
480
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
500
KATA
mclloyd
PRO
35
15k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
250
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
240
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
750
Music & Morning Musume
bryan
47
7.1k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Test your architecture with Archunit
thirion
1
2.2k
Paper Plane
katiecoart
PRO
1
49k
Transcript
問題.山本山の野望 (1): 上から読んでも山本山 下から読んでも山本山 我らが誇る海苔の老舗・山本山が海外進出を企んでいるようです。 しかしどうやら英語は苦手で、英語での社名や商品名開発に苦労している模様。 山本山の海外進出を成功させるために、まずはある文字列が回分かどうかを判 定するプログラムを作成してください。 ある入力文字列sが回文かどうかを判定す るプログラムを作ってください。
Sample Input とSample Output “Hakkaku” -> No “lol” -> Yes “annna” -> Yes “Anna” -> No 入力はすべてアルファベットの小文字です。 回文とは上から読んでも下から 読んでも同じ文のことです。 例えば、 “horror”は回文ではありません が、”sos”は回文です。
問題.山本山の野望 (2): なんとか海外進出を果たした山本山は、現地従業員のアイディアでたくさんの新商 品を開発しました。しかしなかなか商品名を覚えてもらえないようです。 専務「このままでは我社のアイデンティティを保つことは難しい」 専務「やっぱり商品名は回文になってないと」 というわけで、あなたは既存の商品名全部を速やかに回文にしないといけないこと になりました。変更は最小限に、という命令もあるため、 「既存の商品名にできるだけ短い文字列をくっつけて回文にする」必要があります Sample
Input -> Sample Output “hoge” -> “hogegoh” “sos” -> “sos” “koror” -> “kororok” “flip” -> “flipilf” ある入力文字列に対して、0文字以上 の何文字かを追加して回文を作るプロ グラムを作成してください。この際、追 加する文字列は最小に抑える必要が あります。 ある文字列を入力として、回文にした 文字列を出力してください。
解答例.山本山の野望 (1):回文性の判定プログラムを作成する 1. 先頭と末尾から文字列をとって比較する 2. 一致したら続ける 3. 一致しなかったらfalseを返す 最後まで一致したらtrueを返す 言語によって、文字列の後ろからn文字目を
取る方法が色々ありそうですね HorsoH HorsoH HorsoH
解答例.山本山の野望 (2):最小の文字列追加で対象文字列を回文にする mizが着目した2つのポイント 1. 最大でも元の文字列の反対文字列(から先頭を除く文字)を追 加すれば回文になる 2. もしn文字を追加して回文であるとすれば、追加された文字は 元の文字の頭からn文字の反対であるはず hogepiyo
yipegoh hogepiyo h hogepiyo oh hogepiyo goh このようにn-1文字 追加までを試して いく中で、回文に なったタイミングで 終了する