Skip to content

Commit 8b1fb5c

Browse files
問題 36 に別解を 2 つ追加しました
Ruby はブロック付きの gsub を、Perl は s///ge を使ってみました。
1 parent d69d5f7 commit 8b1fb5c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

answer/36.md

+9
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,12 @@ $ cat message.txt | sed 's/)(/)\n(/g' | grep -P '^(\(\g<1>\)|[^()]+)$' | tr -d '
77
別解1(中村)$ cat message.txt | sed -E 's/\)\(/)\n(/g' | awk '{print gsub("\\(", ""), gsub("\\)", ""), $0}' | awk '$1==$2{printf $3}' | xargs
88
別解2(eban)$ cat message.txt | sed 's/)(/)\n(/g' | sed ':a;s/(\([^)]\+\))/\1/;ta;/[()]/d' | paste -sd ''
99
```
10+
11+
### 読者別解
12+
13+
by [kariya-mitsuru](https://github.com/kariya-mitsuru)
14+
15+
```
16+
別解3 $ ruby -pe 'gsub(/(\(*)([^)]*)(\)*)/) { $2 if $1.size == $3.size }' message.txt
17+
別解4 $ perl -pe 's/(\(*)([^)]*)(\)*)/$2 if length $1 == length $3/ge' message.txt
18+
```

0 commit comments

Comments
 (0)