プログラミングのお題スレ Part22 (831レス)
プログラミングのお題スレ Part22 http://mevius.5ch.net/test/read.cgi/tech/1691038333/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
3: デフォルトの名無しさん [] 2023/08/06(日) 12:21:14.08 ID:/9zIb/V0 お題 1行につき一つの文章が入力されます アルファベット26文字がすべて含まれている文章をフィルタリングしてください 大文字小文字は区別しません そのうちもっとも短い文章を出力してください 入力 The quick brown fox jumps over a lazy dog. The jay, pig, fox, zebra and my wolves quack! Pack my box with seven dozen liquor jugs. The horse, pig, fox, zebra and my wolves quack! Jackdaws love my small sphinx of quartz. Jackdaws love my big sphinx of quartz. The quick brown fox jumps over a lazy cat. Pack my box with five dozen liquor jugs. 出力 Jackdaws love my big sphinx of quartz. http://mevius.5ch.net/test/read.cgi/tech/1691038333/3
4: デフォルトの名無しさん [] 2023/08/06(日) 17:47:37.64 ID:RhhSFLLO >>3 Kotlin https://paiza.io/projects/cmJpXwaAhFH6jYozb0bb2g http://mevius.5ch.net/test/read.cgi/tech/1691038333/4
5: デフォルトの名無しさん [] 2023/08/06(日) 18:08:09.04 ID:RhhSFLLO >>3 C https://paiza.io/projects/McLPuKlM4c-1C9EgarDGjw http://mevius.5ch.net/test/read.cgi/tech/1691038333/5
7: デフォルトの名無しさん [] 2023/08/06(日) 20:04:54.35 ID:pJXl8PQk >>3 R https://ideone.com/ZdKsPa http://mevius.5ch.net/test/read.cgi/tech/1691038333/7
9: 9 [sage] 2023/08/07(月) 01:46:18.23 ID:PMO8D1QO >>3 Perl5 for (<DATA>) { my %h = map{$_ => 1} grep{/[a-z]/i} split ''; push @a, $_ if 26 == keys %h; } @s = sort{length($a) <=> length($b)} @a; print $s[0]; __DATA__ The quick brown fox jumps over a lazy dog. The jay, pig, fox, zebra and my wolves quack! Pack my box with seven dozen liquor jugs. The horse, pig, fox, zebra and my wolves quack! Jackdaws love my small sphinx of quartz. Jackdaws love my big sphinx of quartz. The quick brown fox jumps over a lazy cat. Pack my box with five dozen liquor jugs. ※ 見易くするためインデントを全角スペースに置換してあります。 実行結果: $ perl 22_3_az26.pl Jackdaws love my big sphinx of quartz. http://mevius.5ch.net/test/read.cgi/tech/1691038333/9
13: デフォルトの名無しさん [sage] 2023/08/07(月) 20:51:54.50 ID:ZWV0+Q1Z >>3 Haskell https://ideone.com/ACKqL8 http://mevius.5ch.net/test/read.cgi/tech/1691038333/13
15: デフォルトの名無しさん [sage] 2023/08/08(火) 19:36:27.56 ID:ODiXw46s >>3 Rust use std::collections::HashSet; use std::io::{self, BufRead, BufReader}; fn main() { match BufReader::new(io::stdin()) .lines() .map(Result::unwrap) .filter(|line| { line.bytes() .filter(|b| matches!(b, b'A'..=b'Z'| b'a'..=b'z')) .collect::<HashSet<_>>() .len() .eq(&26) }) .min_by_key(String::len) { Some(shortest) => println!("{shortest}"), None => eprintln!("ERROR: no matched lines"), } } http://mevius.5ch.net/test/read.cgi/tech/1691038333/15
17: デフォルトの名無しさん [] 2023/08/10(木) 13:37:16.01 ID:YYBOmFjO >>3 Perl https://paiza.io/projects/05DzwASHT6-4bVjpenNDBQ http://mevius.5ch.net/test/read.cgi/tech/1691038333/17
26: 9 [sage] 2023/08/11(金) 02:38:50.64 ID:4P/NDj/+ スレが伸びているので何かと思えば、オレほか一部の回答者がsortを使ったのが そんなに気に入らなかったか、気に障ったか、 ざまぁみろw としか言いようがないが 後出しでケチつけてるのは出題者じゃないようだが そしたらsortも、そしてminもあえて使わないバージョン、 書き方はいろいろあると思うけど: >>3 Perl5 use List::Util 'first'; for (<DATA>) { my %h = map{lc $_ => 1} /([A-Za-z])/g; $a[length $_] = $_ if 26 == keys %h; } print first{defined} @a; __DATA__ The quick brown fox jumps over a lazy dog. The jay, pig, fox, zebra and my wolves quack! Pack my box with seven dozen liquor jugs. The horse, pig, fox, zebra and my wolves quack! Jackdaws love my small sphinx of quartz. Jackdaws love my big sphinx of quartz. The quick brown fox jumps over a lazy cat. Pack my box with five dozen liquor jugs. 実行結果 ~ $ perl 22_3_az26_a.pl Jackdaws love my big sphinx of quartz. http://mevius.5ch.net/test/read.cgi/tech/1691038333/26
147: デフォルトの名無しさん [sage] 2023/10/31(火) 00:00:13.24 ID:mywig6Xf >>3 c https://ideone.com/BnNzUC int has26(const char *p) { int c, count[26] = {0}; for (; c = tolower(*p); p++) if (isalpha(c)) count[c - 'a']++; for (c = 'a'; c <= 'z'; c++) if (count[c - 'a'] < 1) return 0; return 1; } const char *f(const char **lines, int n) { const char *found = 0; int i, len, minlen; for (i = 0; i < n; i++) if (has26(lines[i])) if (!found) found = lines[i], minlen = strlen(lines[i]); else if (len = strlen(lines[i]) < minlen) found = lines[i], minlen = len; return found; } http://mevius.5ch.net/test/read.cgi/tech/1691038333/147
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.042s