LoginSignup
0
0

More than 5 years have passed since last update.

「のんびり座りたい」をsedで(横へな7)

Posted at

のんびり座りたい」をsedでやってみました。他の実装は 第7回オフラインリアルタイムどう書くの問題 から辿れます。

「異星の電光掲示板」をsedで(横へな15) に引き続きsedで書いてみました。(過去問は逆順に辿りながらやらせてもらっています。)

selectchair.sed
# 数→椅子
s/1\([0-9]\)/55\1/
s/2\([0-9]\)/5555\1/
s/3\([0-9]\)/555555\1/
s/9/54/
s/8/53/
s/7/52/
s/6/51/
s/5/-----/g
s/4/----/
s/3/---/
s/2/--/
s/1/-/
s/0//

:LOOP

# どちら側の隣にも人が座っていない席に座る
s/^--\(.*\):\([A-Z]\)\(.*\)$/\2-\1:\3/
s/---\(.*\):\([A-Z]\)\(.*\)$/-\2-\1:\3/
t LOOP
s/--:\([A-Z]\)\(.*\)$/-\1:\2/
t LOOP

# 片側にしか人が座っていない席に座る
s/^-\(.*\):\([A-Z]\)\(.*\)$/\2\1:\3/
s/--\(.*\):\([A-Z]\)\(.*\)$/\2-\1:\3/
t LOOP
s/-:\([A-Z]\)\(.*\)$/\1:\2/
t LOOP

# 両側に人が座っている席に座る
s/-\(.*\):\([A-Z]\)\(.*\)$/\2\1:\3/
t LOOP

# 立ち去る
s/\(.*\)A\(.*\):a\(.*\)$/\1-\2:\3/
s/\(.*\)B\(.*\):b\(.*\)$/\1-\2:\3/
s/\(.*\)C\(.*\):c\(.*\)$/\1-\2:\3/
s/\(.*\)D\(.*\):d\(.*\)$/\1-\2:\3/
s/\(.*\)E\(.*\):e\(.*\)$/\1-\2:\3/
s/\(.*\)F\(.*\):f\(.*\)$/\1-\2:\3/
s/\(.*\)G\(.*\):g\(.*\)$/\1-\2:\3/
s/\(.*\)H\(.*\):h\(.*\)$/\1-\2:\3/
s/\(.*\)I\(.*\):i\(.*\)$/\1-\2:\3/
s/\(.*\)J\(.*\):j\(.*\)$/\1-\2:\3/
s/\(.*\)K\(.*\):k\(.*\)$/\1-\2:\3/
s/\(.*\)L\(.*\):l\(.*\)$/\1-\2:\3/
s/\(.*\)M\(.*\):m\(.*\)$/\1-\2:\3/
s/\(.*\)N\(.*\):n\(.*\)$/\1-\2:\3/
s/\(.*\)O\(.*\):o\(.*\)$/\1-\2:\3/
s/\(.*\)P\(.*\):p\(.*\)$/\1-\2:\3/
s/\(.*\)Q\(.*\):q\(.*\)$/\1-\2:\3/
s/\(.*\)R\(.*\):r\(.*\)$/\1-\2:\3/
s/\(.*\)S\(.*\):s\(.*\)$/\1-\2:\3/
s/\(.*\)T\(.*\):t\(.*\)$/\1-\2:\3/
s/\(.*\)U\(.*\):u\(.*\)$/\1-\2:\3/
s/\(.*\)V\(.*\):v\(.*\)$/\1-\2:\3/
s/\(.*\)W\(.*\):w\(.*\)$/\1-\2:\3/
s/\(.*\)X\(.*\):x\(.*\)$/\1-\2:\3/
s/\(.*\)Y\(.*\):y\(.*\)$/\1-\2:\3/
s/\(.*\)Z\(.*\):z\(.*\)$/\1-\2:\3/
t LOOP

# ごみ掃除
s/://
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0