Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
シェル芸思考
(シェル芸で問題を解くときに考えていること)
第30回シェル芸勉強会 大阪サテライトLT
(2017/8/26)
くんすと(kunst1080)
この発表の目的
シェル芸について、「面白そうだけど問題をどうやったらいいのかわからない」という声が
よく聞こえるような気がします(想像を含む主観)
というところで、自分がシェル芸で問題を解くときに、何をどう考えているのか発表します。
ご参考にど...
思考の順番
1. コマンド一撃で終わらせられるかどうか考える
  ※一撃で終わりそうにない場合 ↓
2. 中間データの形式を設計する
3. コマンドをシコシコ入力しながら答えに寄せていく
思考の順番
1. コマンド一撃で終わらせられるかどうか考える
  ※一撃で終わりそうにない場合 ↓
2. 中間データの形式を設計する
3. コマンドをシコシコ入力しながら答えに寄せていく
設計はやったほうがいいです
設計の考え方
● 中間データの形について考える
● 処理の方法、制御構文などにはあまりこだわらない
設計の例
例) 「響け!ユーフォニアム」の問題
  https://togetter.com/li/1041621
「響け!ユーフォニアム」の文字列を元に、
右のような、10x10の表を作成する。
響け!ユーフォニアム
け!ユーフォニアム響
!...
設計の例
中間データ①: 響け!ユーフォニアムを11回出力
 ※「響け!ユーフォニアム」は10文字
響け!ユーフォニアム響け!ユーフォニアム響け!ユーフォニアム響け!ユーフォ
ニアム響け!ユーフォニアム響け!ユーフォニアム響け!ユーフォニアム響...
設計の例
中間データ②: 11文字ずつ分割してずらす
 ※「響け!ユーフォニアム」は10文字
響け!ユーフォニアム響
け!ユーフォニアム響け
!ユーフォニアム響け!
ユーフォニアム響け!ユ
ーフォニアム響け!ユー
フォニアム響け!ユーフ
ォニア...
設計の例
中間データ③: 右端10文字でカットする
 → 完成!
響け!ユーフォニアム
け!ユーフォニアム響
!ユーフォニアム響け
ユーフォニアム響け!
ーフォニアム響け!ユ
フォニアム響け!ユー
ォニアム響け!ユーフ
ニアム響け!ユーフォ
ア...
実装
設計をしたことにより、何を作ればいいのかということがわかりました。
設計した内容に合わせて、入力データを中間データの形に整形していきます。
 → いきなり解答までたどり着くのは難しいので、少しずつ近づけていくよう   なやり
方がオススメ...
以上
Upcoming SlideShare
Loading in …5
×

第30回シェル芸勉強会LT シェル芸思考

1,164 views

Published on

20170826 第30回シェル芸勉強会LT シェル芸思考

Published in: Technology
  • Be the first to comment

  • Be the first to like this

第30回シェル芸勉強会LT シェル芸思考

  1. 1. シェル芸思考 (シェル芸で問題を解くときに考えていること) 第30回シェル芸勉強会 大阪サテライトLT (2017/8/26) くんすと(kunst1080)
  2. 2. この発表の目的 シェル芸について、「面白そうだけど問題をどうやったらいいのかわからない」という声が よく聞こえるような気がします(想像を含む主観) というところで、自分がシェル芸で問題を解くときに、何をどう考えているのか発表します。 ご参考にどうぞ。
  3. 3. 思考の順番 1. コマンド一撃で終わらせられるかどうか考える   ※一撃で終わりそうにない場合 ↓ 2. 中間データの形式を設計する 3. コマンドをシコシコ入力しながら答えに寄せていく
  4. 4. 思考の順番 1. コマンド一撃で終わらせられるかどうか考える   ※一撃で終わりそうにない場合 ↓ 2. 中間データの形式を設計する 3. コマンドをシコシコ入力しながら答えに寄せていく
  5. 5. 設計はやったほうがいいです
  6. 6. 設計の考え方 ● 中間データの形について考える ● 処理の方法、制御構文などにはあまりこだわらない
  7. 7. 設計の例 例) 「響け!ユーフォニアム」の問題   https://togetter.com/li/1041621 「響け!ユーフォニアム」の文字列を元に、 右のような、10x10の表を作成する。 響け!ユーフォニアム け!ユーフォニアム響 !ユーフォニアム響け ユーフォニアム響け! ーフォニアム響け!ユ フォニアム響け!ユー ォニアム響け!ユーフ ニアム響け!ユーフォ アム響け!ユーフォニ ム響け!ユーフォニア
  8. 8. 設計の例 中間データ①: 響け!ユーフォニアムを11回出力  ※「響け!ユーフォニアム」は10文字 響け!ユーフォニアム響け!ユーフォニアム響け!ユーフォニアム響け!ユーフォ ニアム響け!ユーフォニアム響け!ユーフォニアム響け!ユーフォニアム響け! ユーフォニアム響け!ユーフォニアム響け!ユーフォニアム響け!ユーフォニアム
  9. 9. 設計の例 中間データ②: 11文字ずつ分割してずらす  ※「響け!ユーフォニアム」は10文字 響け!ユーフォニアム響 け!ユーフォニアム響け !ユーフォニアム響け! ユーフォニアム響け!ユ ーフォニアム響け!ユー フォニアム響け!ユーフ ォニアム響け!ユーフォ ニアム響け!ユーフォニ アム響け!ユーフォニア ム響け!ユーフォニアム
  10. 10. 設計の例 中間データ③: 右端10文字でカットする  → 完成! 響け!ユーフォニアム け!ユーフォニアム響 !ユーフォニアム響け ユーフォニアム響け! ーフォニアム響け!ユ フォニアム響け!ユー ォニアム響け!ユーフ ニアム響け!ユーフォ アム響け!ユーフォニ ム響け!ユーフォニア
  11. 11. 実装 設計をしたことにより、何を作ればいいのかということがわかりました。 設計した内容に合わせて、入力データを中間データの形に整形していきます。  → いきなり解答までたどり着くのは難しいので、少しずつ近づけていくよう   なやり 方がオススメです。 シェル芸は基本的に手段を問わないので、あとは好き勝手します。
  12. 12. 以上

×