プログラミングのお題スレ Part22 (831レス)
上下前次1-新
抽出解除 レス栞
9(58): 9 2023/08/07(月)01:46 ID:PMO8D1QO(1/2) AAS
>>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!
省10
10(1): 2023/08/07(月)01:57 ID:PMO8D1QO(2/2) AAS
>>9 ゴメン、2行目に間違いあり…orz
my %h = map{$_ => 1} grep{/[a-z]/i} split '';
↓正しくは
my %h = map{$_ => 1} map{lc} grep{/[a-z]/i} split '';
実行結果は今回のテストデータだとたまたま同じ結果になる。
26: 9 2023/08/11(金)02:38 ID:4P/NDj/+(1/2) AAS
スレが伸びているので何かと思えば、オレほか一部の回答者がsortを使ったのが
そんなに気に入らなかったか、気に障ったか、
ざまぁみろw としか言いようがないが
後出しでケチつけてるのは出題者じゃないようだが
そしたらsortも、そしてminもあえて使わないバージョン、
書き方はいろいろあると思うけど:
>>3 Perl5
use List::Util 'first';
for (<DATA>) {
my %h = map{lc $_ => 1} /([A-Za-z])/g;
省15
29: 9 2023/08/11(金)08:37 ID:4P/NDj/+(2/2) AAS
O(nlog(n))がダメかどうかは、データの規模および実行時間による
43(2): 9 2023/08/16(水)13:32 ID:vjpqg3x7(1/2) AAS
AA省
44: 9 2023/08/16(水)13:42 ID:vjpqg3x7(2/2) AAS
>>43 typo orz
-h または --highres
↓
-h または --highreso
45: 9 2023/08/16(水)19:12 ID:y9YJABkH(1) AAS
AA省
89: 9 2023/09/22(金)16:53 ID:8M97O6g7(1) AAS
>>85 Perl5
rename "abc$_.mp4", sprintf 'abc%03d.mp4',$_ for 1..20;
※abc1.mp4 abc2.mp4 .. abc20.mp4 があるとしています。
また abc001.mp4 abc002.mp4 ... abc020.mp4 は既存かのチェックは省いています。
121(1): 9 2023/10/08(日)20:24 ID:zYJ3wh+h(1) AAS
>>120
「もっとも効率がいいエレベーターの停止順序」とは?
1.停止回数がもっとも少ない
2.移動した階数の和が最も小さい
3.ほか
など、どのような指標?
188(1): 9 2024/01/16(火)02:37 ID:SfyAs2IF(1/2) AAS
>>187 Perl5
use Time::Piece;
use Time::Seconds;
for (qw{00:00:00 23:59:59}) {
$t = Time::Piece->strptime($_, '%T') + 1;
print "入力:$_\n出力:", $t->strftime('%T'), "\n";
}
※見易くするためインデントを全角スペースに置換してあります
実行結果
~ $ perl 22_187_1秒後.pl
省4
189: 9 2024/01/16(火)02:38 ID:SfyAs2IF(2/2) AAS
>>188
use Time::Seconds;
これ要らなかった…orz
216: 9 2024/02/04(日)16:39 ID:jTY6zdRX(1/2) AAS
>>208 Perl5
use feature qw{:5.16 signatures};
no warnings qw(experimental::signatures);
@s = qw[a1=a2 b1=b2 b3=b2 c1=c2 e1=e2 a3=a4 c3=c4 e1=e3 a2=a4 c3=c1 b3=a4 c2=d1 a4=a5 d2=c1 b4=b3 d3=c3];
for (map{[sort /(\w+)=(\w+)/]} @s) {
($l, $r) = @$_;
$g{$r} //= $g{$l} //= $g{$r} // $l;
$h{$g{$r}} = $g{$l} if $g{$l} ne $g{$r};
}
$h{$k} = sub($e){$h{$e} ? __SUB__->($h{$e}) : $e}->($v) while ($k, $v) = each %h;
省9
217: 9 2024/02/04(日)18:22 ID:jTY6zdRX(2/2) AAS
>>208 宛てじゃなかった
>>206 の回答だったわ… orz
241(1): 9 2024/02/16(金)02:56 ID:7jtCAGu+(1/2) AAS
>>234 Perl5
for $n (0,17,100,123459321) {
my %a;
for (0..$n) {
$i = $n - $_;
$a{$i} = $i if 0 <= $i and $i =~ /^((\d)(?1)\2|\d?)$/;
$j = $n + $_;
$a{$j} = $j if $j =~ /^((\d)(?1)\2|\d?)$/;
last if keys %a;
}
省10
242: 9 2024/02/16(金)03:13 ID:7jtCAGu+(2/2) AAS
>>241
last if keys %a;
}
@a = keys %a;
は
last if @a = keys %a;
}
とコンパクトに書けるんだった、まぁいいや
243(1): 9 2024/02/16(金)14:47 ID:TIAwaOOw(1) AAS
>>234 Perl5、小さい方の検索は0で止まるので負の値を避ける必要はなかった、書き直し。
$r = qr/^((\d)(?1)\2|\d?)$/;
for $n (0,17,100,123459321) {
my %a;
for (0..$n) {
$a{$n - $_} = 1 if ($n - $_) =~ $r;
$a{$n + $_} = 1 if ($n + $_) =~ $r;
last if @a = keys %a;
}
print "$n -> @a\n";
省1
246(1): 9 2024/02/17(土)02:10 ID:K8P5qDCx(1) AAS
AA省
263: 9 2024/02/20(火)17:18 ID:X5uoFLgg(1) AAS
「どんなテストしたの?」
って質問だよ
362: 9 2024/06/11(火)14:41 ID:NjINqn/m(1) AAS
>>348 Perl5
($x = '04:05:06') =~ s/:/*/g;
print eval $x;
363(3): 9 2024/06/13(木)14:34 ID:XgNTPGgf(1/3) AAS
>>349
> 「バイトが1だったら次の4バイトを読み込んで整数として出力し、」
正直、意味がわからんかった
例で見ると
1 1 0 0 0 → 1
1 128 0 0 0 → 128
ということだが
1に続く4バイトを加算して出力するって意味だったのかいな
368: 9 2024/06/13(木)17:03 ID:XgNTPGgf(2/3) AAS
>>365
ああそういうことか「4バイトを読み込んで整数」と書いてあるのはそういう意味だったのか
ならわかるかも。
オレは4バイト一個一個が整数だと捉えて、それを「4バイトを読み込んで整数」とは何のこっちゃと?になってたわ
369: 9 2024/06/13(木)17:07 ID:XgNTPGgf(3/3) AAS
すまんね68系で育ったもんですぐ連想できなんだ
483(1): 9 01/20(月)01:11 ID:zWVP8H/r(1) AAS
>>474 Perl5
$s = '(100)(10)(1)[10000](5)(500)[1000][5000][1000][1000](10)(100)(50)(100)[1000]';
$h{$_} .= $_ for $s =~ /\(\d+\)|\[\d+\]/g;
use List::Util 'sum';
$v{$h{$_}} = sum($h{$_} =~ /\d+/g) for keys %h;
print "$_\n" for sort{$v{$b} <=> $v{$a}} keys %v;
実行結果
~ $ perl 22_474_value.pl
[10000]
[5000]
省7
484: 9 01/21(火)02:09 ID:Kvjf8jsk(1) AAS
>>483 Perl5
$_ = 'abc def ghi';
print join(' ' x 4, split) . "\n";
491: 9 01/24(金)01:44 ID:p08ruAfw(1) AAS
>>485 Perl5
for $n (1..3) {
@cp = @s = qw(A B C);
while(--$n) { @cp = map{ $p = $_; map{ "$p$_" } @s } @cp }
print "@cp\n";
}
※見易くするためインデントは全角スペースに置換してあります
実行結果
~ $ perl 22_485_CartesianProd.pl
A B C
省2
492(1): 9 01/24(金)17:38 ID:cg1ZmS3G(1) AAS
>>464 Perl5
for (<DATA>) {
chomp;
print "$_ → ", (/^(A((AB)?|(?1))B)+$/g ? 'true' : 'false'), "\n";
}
__DATA__
A
B
AB
ABB
省18
494: 9 01/25(土)02:52 ID:wVQIyzpy(1) AAS
>>492
/g の gは不要で / でおkだった…orz
501(1): 9 01/27(月)17:15 ID:cwZgX9Gy(1/3) AAS
Perl5
for (qw{T CG ATA CGGA ATGAT GTTGCA CCCCGGG ACTGCGAG ATCAGAATA TGCCATGACA}) {
%h = (); $h{$_}++ for split '';
print "$_ → ", (grep{1 < $h{$_}} keys %h), "\n";
}
※見易くするためインデントを全角スペースに置換してあります
実行結果
~ $ perl 22_500_dupe_char.pl
T →
CG →
省8
502: 9 01/27(月)21:20 ID:cwZgX9Gy(2/3) AAS
>>501 Coilotに入力して処理内容を問うてみたらちゃんと返してきてワラタ
外部リンク:copilot.microsoft.com
503: 9 01/27(月)21:22 ID:cwZgX9Gy(3/3) AAS
CopilotのURLをコピペしても他の人に内容を見せることはできなかったワ…orz
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.599s*