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
mizti
January 10, 2013
650
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
kaibun.pdf
mizti
January 10, 2013
More Decks by mizti
See All by mizti
CutSticks.pdf
mizti
0
650
Maze Maker
mizti
0
620
「銀将ご乱心」
mizti
0
980
paint.pdf
mizti
1
640
dfs1.pdf
mizti
0
610
問題1. 解答例
mizti
0
510
2012/11/16 問題1
mizti
0
540
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
420
How STYLIGHT went responsive
nonsquared
100
6.2k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
660
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Optimizing for Happiness
mojombo
378
71k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.1k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
600
The Mindset for Success: Future Career Progression
greggifford
PRO
0
430
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文字 追加までを試して いく中で、回文に なったタイミングで 終了する