プログラミングのお題スレ Part22 (860レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
3
(9): デフォルトの名無しさん [] 2023/08/06(日)12:21 ID:/9zIb/V0(1)
お題
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.
4
(1): デフォルトの名無しさん [] 2023/08/06(日)17:47 ID:RhhSFLLO(1/2)
>>3
Kotlin
https://paiza.io/projects/cmJpXwaAhFH6jYozb0bb2g
5
(1): デフォルトの名無しさん [] 2023/08/06(日)18:08 ID:RhhSFLLO(2/2)
>>3
C
https://paiza.io/projects/McLPuKlM4c-1C9EgarDGjw
7: デフォルトの名無しさん [] 2023/08/06(日)20:04 ID:pJXl8PQk(1)
>>3
R
https://ideone.com/ZdKsPa
9
(58): 9 [sage] 2023/08/07(月)01:46 ID:PMO8D1QO(1/2)
>>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.
13
(2): デフォルトの名無しさん [sage] 2023/08/07(月)20:51 ID:ZWV0+Q1Z(1)
>>3
Haskell
https://ideone.com/ACKqL8
15
(2): デフォルトの名無しさん [sage] 2023/08/08(火)19:36 ID:ODiXw46s(1) AAS
AA省
17
(38): デフォルトの名無しさん [] 2023/08/10(木)13:37 ID:YYBOmFjO(1)
>>3
Perl
https://paiza.io/projects/05DzwASHT6-4bVjpenNDBQ
26: 9 [sage] 2023/08/11(金)02:38 ID:4P/NDj/+(1/2)
スレが伸びているので何かと思えば、オレほか一部の回答者が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.
147: デフォルトの名無しさん [sage] 2023/10/31(火)00:00 ID:mywig6Xf(1)
>>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;
}
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.045s