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
0
640
kaibun.pdf
mizti
January 10, 2013
Tweet
Share
More Decks by mizti
See All by mizti
CutSticks.pdf
mizti
0
640
Maze Maker
mizti
0
610
「銀将ご乱心」
mizti
0
970
paint.pdf
mizti
1
630
dfs1.pdf
mizti
0
600
問題1. 解答例
mizti
0
500
2012/11/16 問題1
mizti
0
540
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
170
Marketing to machines
jonoalderson
1
4.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Building the Perfect Custom Keyboard
takai
2
680
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
130
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
270
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
210
It's Worth the Effort
3n
188
29k
Abbi's Birthday
coloredviolet
1
4.7k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
120
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Building AI with AI
inesmontani
PRO
1
680
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文字 追加までを試して いく中で、回文に なったタイミングで 終了する