プログラミングのお題スレです。
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
結果がある場合はそれも
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part14
http://mevius.5ch.net/test/read.cgi/tech/1558168409/
探検
プログラミングのお題スレ Part15
■ このスレッドは過去ログ倉庫に格納されています
2019/07/28(日) 19:39:57.54ID:832c/ukY
427デフォルトの名無しさん
2019/09/13(金) 13:13:33.48ID:zfsxzWX8428デフォルトの名無しさん
2019/09/13(金) 21:31:55.35ID:5n7mddvT429デフォルトの名無しさん
2019/09/13(金) 21:37:33.86ID:sQZEDK+j tcl/tkで「tk部分ははいいがtclがクソ」みたいなのよく見た気がするんだけど、あれどういうとこが根拠なん?
430デフォルトの名無しさん
2019/09/14(土) 04:14:12.84ID:x5aQTHnU お題: すべての人民は和平のために火急的に速やかに自己の復元を実現しなければならない。
431デフォルトの名無しさん
2019/09/14(土) 04:28:39.19ID:BS6VTuNp432デフォルトの名無しさん
2019/09/14(土) 07:49:29.90ID:/8qdS/t9433デフォルトの名無しさん
2019/09/14(土) 08:17:19.38ID:G26P45sA434デフォルトの名無しさん
2019/09/14(土) 08:24:26.09ID:Hd+E1riT435デフォルトの名無しさん
2019/09/14(土) 08:30:44.01ID:G26P45sA436デフォルトの名無しさん
2019/09/14(土) 19:11:38.33ID:Rj/aIpzV >>426
クリプタって何?
クリプタって何?
437デフォルトの名無しさん
2019/09/14(土) 19:29:31.44ID:daGZRaa0 ザラキ唱える人じゃないか
438デフォルトの名無しさん
2019/09/14(土) 19:57:54.64ID:oc39AgJX439デフォルトの名無しさん
2019/09/14(土) 20:22:44.80ID:x5aQTHnU >>437
それはクリフト
それはクリフト
440デフォルトの名無しさん
2019/09/14(土) 21:03:45.14ID:KmV3vhTN cryptoなんだからcryptorじゃないの?
441蟻人間 ◆T6xkBnTXz7B0
2019/09/14(土) 21:19:35.56ID:0f+SL6BM それをゆうなら、encrypterの方が自然じゃん。
442デフォルトの名無しさん
2019/09/14(土) 22:06:47.02ID:31y0+jF3 でも、それをいうならの方が自然かも
443デフォルトの名無しさん
2019/09/14(土) 22:21:17.26ID:oc39AgJX EnCrypterか。了解。
忘れたらごめんなさい。
忘れたらごめんなさい。
444デフォルトの名無しさん
2019/09/14(土) 22:23:04.61ID:pQ8OW4Ak EnCrypterはおかしい
Encryperでいい
Encryperでいい
445デフォルトの名無しさん
2019/09/14(土) 22:23:28.79ID:pQ8OW4Ak tが抜けた
446デフォルトの名無しさん
2019/09/14(土) 22:26:10.43ID:hhxdRhHk EmScriptEn
447デフォルトの名無しさん
2019/09/14(土) 22:35:29.16ID:oc39AgJX448デフォルトの名無しさん
2019/09/14(土) 23:35:07.41ID:1m2PUwRG449デフォルトの名無しさん
2019/09/15(日) 10:23:47.74ID:4T3I9hnw >>426 Perl 5.30
# -*- coding: utf-8 -*-
no warnings 'experimental::signatures';
use feature qw(say signatures); # lexical_subs);
sub ReversibleHash_Encode($S, $C) {
@a = unpack 'C*', $S;
$l = @c = split '', $C;
my $o; ++$o while $l**$o < 256; #my $o = 1 + log(256)/log $l;
use integer;
my sub _enc($i) { join '', reverse map{($i, $m) = ($i/$l, $i%$l); $c[$m]} 1..$o }
%e = map{$_ => '%'._enc $_} 0..255;
join '', map{$e{$_}} @a;
}
sub ReversibleHash_Decode($S, $C) {
@s = $S =~ /(%\w+)/g;
%d = map{$e{$_} => $_ } keys %e;
pack 'C*', map{$d{$_}} @s;
}
say $t = ReversibleHash_Encode 'ウィキペディア', '0123456789';
say $s = ReversibleHash_Decode $t, '0123456789';
$Ch = "abcdefghijklnmopqrstuvwxyz0123456789";
say $t = ReversibleHash_Encode $s, $Ch;
say $s = ReversibleHash_Decode $t, $Ch;
実行結果
~ $ perl 15_426.pl
%227%130%166%227%130%163%227%130%173%227%131%154%227%131%135%227%130%163%227%130%162
ウィキペディア
%gl%dw%ew%gl%dw%et%gl%dw%e3%gl%dx%ek%gl%dx%d1%gl%dw%et%gl%dw%es
ウィキペディア
# -*- coding: utf-8 -*-
no warnings 'experimental::signatures';
use feature qw(say signatures); # lexical_subs);
sub ReversibleHash_Encode($S, $C) {
@a = unpack 'C*', $S;
$l = @c = split '', $C;
my $o; ++$o while $l**$o < 256; #my $o = 1 + log(256)/log $l;
use integer;
my sub _enc($i) { join '', reverse map{($i, $m) = ($i/$l, $i%$l); $c[$m]} 1..$o }
%e = map{$_ => '%'._enc $_} 0..255;
join '', map{$e{$_}} @a;
}
sub ReversibleHash_Decode($S, $C) {
@s = $S =~ /(%\w+)/g;
%d = map{$e{$_} => $_ } keys %e;
pack 'C*', map{$d{$_}} @s;
}
say $t = ReversibleHash_Encode 'ウィキペディア', '0123456789';
say $s = ReversibleHash_Decode $t, '0123456789';
$Ch = "abcdefghijklnmopqrstuvwxyz0123456789";
say $t = ReversibleHash_Encode $s, $Ch;
say $s = ReversibleHash_Decode $t, $Ch;
実行結果
~ $ perl 15_426.pl
%227%130%166%227%130%163%227%130%173%227%131%154%227%131%135%227%130%163%227%130%162
ウィキペディア
%gl%dw%ew%gl%dw%et%gl%dw%e3%gl%dx%ek%gl%dx%d1%gl%dw%et%gl%dw%es
ウィキペディア
450デフォルトの名無しさん
2019/09/15(日) 10:37:25.58ID:Pt8t6mL1 zipとunzip関数があるからそれで偶数と奇数に分ければいい
451デフォルトの名無しさん
2019/09/15(日) 11:42:49.90ID:4T3I9hnw >>412 Prl5 (≦5.28)、配列の添字を0始まり以外にする$[ (array_base feature)を使用
$[ = 1;
@a = a..z;
@x = grep{$_ & 1} 1..@a;
@b = @a[@x];
print "@b\n";
実行結果
~ $ perl 15_412_array_base.pl
a c e g i k m o q s u w y
※5.12〜5.28では$[は非推奨になり、設定すると
Use of assignment to $[ is deprecated at 15_412_2.pl line 1.
というwarningが出ます、5.30からは$[の設定できなくなりました
$[ = 1;
@a = a..z;
@x = grep{$_ & 1} 1..@a;
@b = @a[@x];
print "@b\n";
実行結果
~ $ perl 15_412_array_base.pl
a c e g i k m o q s u w y
※5.12〜5.28では$[は非推奨になり、設定すると
Use of assignment to $[ is deprecated at 15_412_2.pl line 1.
というwarningが出ます、5.30からは$[の設定できなくなりました
452デフォルトの名無しさん
2019/09/15(日) 15:11:01.79ID:G44yhCx+453デフォルトの名無しさん
2019/09/15(日) 15:41:23.29ID:5s85lzPu 鰐んぐ
魚にんぐ
魚にんぐ
454デフォルトの名無しさん
2019/09/15(日) 16:31:54.72ID:vhYJbDpr >>449
実行はしてないが、成果については「GJ!!」だ!
実行はしてないが、成果については「GJ!!」だ!
455デフォルトの名無しさん
2019/09/16(月) 04:35:46.66ID:NOoJUh0d お題: 文字列が渡されるので文字vの左隣の文字を小文字、右隣の文字を大文字に変換しなさい
456デフォルトの名無しさん
2019/09/16(月) 06:10:07.69ID:VWND3fAL >>455
"avbvc" の結果を教えてくれ
"avbvc" の結果を教えてくれ
457デフォルトの名無しさん
2019/09/16(月) 08:35:06.75ID:NOoJUh0d >>456
その場合はvに挟まれた文字をxに変換してください
その場合はvに挟まれた文字をxに変換してください
458デフォルトの名無しさん
2019/09/16(月) 08:42:47.33ID:3bKCxc1X >>457
"avvb" の結果を教えてくれ
"avvb" の結果を教えてくれ
459デフォルトの名無しさん
2019/09/16(月) 11:06:17.48ID:uJI/7eR2 頭悪そうなお題はパスで
460デフォルトの名無しさん
2019/09/16(月) 15:26:20.20ID:eLMc9ESO お題:1から100までの自然数がある。ランダムに30個抜き出せ。
461デフォルトの名無しさん
2019/09/16(月) 15:30:00.20ID:4Q9Ti1cA >>460 Ruby
p [*1..100].sample(30)
# => [13, 29, 96, 79, 78, 17, 89, 88, 69, 51, 44, 16, 54, 62,
47, 19, 45, 26, 43, 40, 91, 32, 30, 86, 84, 85, 15, 6, 41, 95]
p [*1..100].sample(30)
# => [13, 29, 96, 79, 78, 17, 89, 88, 69, 51, 44, 16, 54, 62,
47, 19, 45, 26, 43, 40, 91, 32, 30, 86, 84, 85, 15, 6, 41, 95]
462デフォルトの名無しさん
2019/09/16(月) 16:08:30.72ID:ShPpQTCq463デフォルトの名無しさん
2019/09/16(月) 16:53:32.17ID:P3J/MfSa >>460 Perl5、※選択に重複がないようにした
@a = 1..100;
use List::Util shuffle;
@b = (shuffle @a)[0..29];
print "@b\n";
実行結果
~ $ perl 15_460.pl
64 90 99 41 46 11 25 23 2 12 43 42 24 96 59 44 19 7 92 47 15 86 84 68 13 100 76 34 87 9
@a = 1..100;
use List::Util shuffle;
@b = (shuffle @a)[0..29];
print "@b\n";
実行結果
~ $ perl 15_460.pl
64 90 99 41 46 11 25 23 2 12 43 42 24 96 59 44 19 7 92 47 15 86 84 68 13 100 76 34 87 9
464デフォルトの名無しさん
2019/09/16(月) 16:59:32.09ID:ZgnCsjLO >>460 J
(30?100) { >: i. 100
(30?100) { >: i. 100
465デフォルトの名無しさん
2019/09/16(月) 17:36:43.98ID:enU8we0d >>464
なるほど全然わからん
なるほど全然わからん
466デフォルトの名無しさん
2019/09/16(月) 20:23:01.84ID:LKlzCOg4467デフォルトの名無しさん
2019/09/17(火) 17:37:59.85ID:IoM9hprN プログラム言語標準の文字列(e.g. java.lang.String) が与えられ、ランレングス圧縮した結果をプログラム言語標準の文字列で返す関数を作成してください。ただし、入力に数字が入っていた場合のケースは考慮しなくても構いません。
テストケース(関数名 = f)
f("あいうえお") -> "あいうえお"
f("ああいいうう") -> "あ2い2う2"
f("あいうあいう") -> "あいうあいう"
テストケース(関数名 = f)
f("あいうえお") -> "あいうえお"
f("ああいいうう") -> "あ2い2う2"
f("あいうあいう") -> "あいうあいう"
468デフォルトの名無しさん
2019/09/17(火) 18:15:13.62ID:kyKgfAv0 あうあうあー -> あうあうあー
ああああ -> あ4
ああああ -> あ4
469デフォルトの名無しさん
2019/09/17(火) 18:37:25.07ID:IoM9hprN そゆこと
470デフォルトの名無しさん
2019/09/17(火) 19:42:43.30ID:N7hzq5cx python に あ2い2う2
のようにカウンティング結果を含んだリストを返すライブラリが
はいっていたな
のようにカウンティング結果を含んだリストを返すライブラリが
はいっていたな
471デフォルトの名無しさん
2019/09/17(火) 21:40:53.07ID:nuFS/S7T472デフォルトの名無しさん
2019/09/17(火) 21:47:22.78ID:s7WBnLNZ >>467 JavaScript
const f = s => [...s]
.reduce((acc, ch) => {
const [lastCh, n = 1] = acc.pop() || [];
if (!lastCh) return [[ch]];
if (lastCh == ch) {
return [...acc, [lastCh, n + 1]];
} else {
return [...acc, [lastCh, n == 1 ? '' : n], [ch]];
}
}, [])
.flat(Infinity)
.join``;
const f = s => [...s]
.reduce((acc, ch) => {
const [lastCh, n = 1] = acc.pop() || [];
if (!lastCh) return [[ch]];
if (lastCh == ch) {
return [...acc, [lastCh, n + 1]];
} else {
return [...acc, [lastCh, n == 1 ? '' : n], [ch]];
}
}, [])
.flat(Infinity)
.join``;
473デフォルトの名無しさん
2019/09/17(火) 23:32:50.16ID:htBCID9n >>467 Perl5
use utf8;
binmode STDOUT, ':encoding(utf-8)';
for (qw{あいうえお ああいいうう あいうあいう あうあうあー ああああ}) {
my $s;
while (/((.)\g-1*)/g) {
$s .= $2;
$s .= $l if 1 < ($l = length $1);
}
print "$s\n";
}
実行結果
~ $ perl 15_467.pl
あいうえお
あ2い2う2
あいうあいう
あうあうあー
あ4
use utf8;
binmode STDOUT, ':encoding(utf-8)';
for (qw{あいうえお ああいいうう あいうあいう あうあうあー ああああ}) {
my $s;
while (/((.)\g-1*)/g) {
$s .= $2;
$s .= $l if 1 < ($l = length $1);
}
print "$s\n";
}
実行結果
~ $ perl 15_467.pl
あいうえお
あ2い2う2
あいうあいう
あうあうあー
あ4
474デフォルトの名無しさん
2019/09/17(火) 23:58:08.34ID:htBCID9n >>467 Perl5、しくった、お題は「関数を作れ」だった…orz
use utf8;
binmode STDOUT, ':encoding(utf-8)';
sub f {
my $s;
while (/((.)\g-1*)/g) {
$s .= $2;
$s .= $l if 1 < ($l = length $1);
}
$s
}
for (qw{あいうえお ああいいうう あいうあいう あうあうあー ああああ}) {
print f($_)."\n";
}
~ $ perl 15_467_f.pl
あいうえお
あ2い2う2
あいうあいう
あうあうあー
あ4
use utf8;
binmode STDOUT, ':encoding(utf-8)';
sub f {
my $s;
while (/((.)\g-1*)/g) {
$s .= $2;
$s .= $l if 1 < ($l = length $1);
}
$s
}
for (qw{あいうえお ああいいうう あいうあいう あうあうあー ああああ}) {
print f($_)."\n";
}
~ $ perl 15_467_f.pl
あいうえお
あ2い2う2
あいうあいう
あうあうあー
あ4
475デフォルトの名無しさん
2019/09/18(水) 10:00:45.90ID:Qm7jF2Kv >>467 Ruby
f = -> s {s.gsub(/(.)\1+/){[$1, $&.size].join}}
%w[あいうえお ああいいうう あいうあいう あうあうあー ああああ].each{|s| puts [s, f[s]].join(' => ')}
# =>
あいうえお => あいうえお
ああいいうう => あ2い2う2
あいうあいう => あいうあいう
あうあうあー => あうあうあー
ああああ => あ4
f = -> s {s.gsub(/(.)\1+/){[$1, $&.size].join}}
%w[あいうえお ああいいうう あいうあいう あうあうあー ああああ].each{|s| puts [s, f[s]].join(' => ')}
# =>
あいうえお => あいうえお
ああいいうう => あ2い2う2
あいうあいう => あいうあいう
あうあうあー => あうあうあー
ああああ => あ4
476デフォルトの名無しさん
2019/09/18(水) 10:37:56.54ID:Qm7jF2Kv >>432 Ruby
module Hoge
refine Array do
def oddlist
select.with_index{|s, i| i.odd?}
end
end
end
class C1
p [0, 1, 2, 3, 4].oddlist rescue p$!
# => #<NoMethodError: undefined method `oddlist' for []:Array>
end
class C2
using Hoge
p [0, 1, 2, 3, 4].oddlist
# => [1, 3]
end
module Hoge
refine Array do
def oddlist
select.with_index{|s, i| i.odd?}
end
end
end
class C1
p [0, 1, 2, 3, 4].oddlist rescue p$!
# => #<NoMethodError: undefined method `oddlist' for []:Array>
end
class C2
using Hoge
p [0, 1, 2, 3, 4].oddlist
# => [1, 3]
end
477デフォルトの名無しさん
2019/09/18(水) 15:45:23.52ID:GIOjMe2C478デフォルトの名無しさん
2019/09/18(水) 17:30:11.83ID:quy23QLp むずかし過ぎワロタwww
俺にC++は絶対ムリwwwww
俺にC++は絶対ムリwwwww
479デフォルトの名無しさん
2019/09/18(水) 17:40:05.70ID:GIOjMe2C480デフォルトの名無しさん
2019/09/18(水) 19:34:59.80ID:Dukdxvvo 完成品はないけどなw
481デフォルトの名無しさん
2019/09/18(水) 19:48:16.27ID:GIOjMe2C >>480
ウインドウズのアプリっぽいの一個位は作ったことあるよ。
ウインドウズのアプリっぽいの一個位は作ったことあるよ。
482デフォルトの名無しさん
2019/09/18(水) 19:56:52.36ID:Dukdxvvo はいはいいつもの
483デフォルトの名無しさん
2019/09/18(水) 20:22:10.02ID:GIOjMe2C >>482
ボット認定していい?
ボット認定していい?
484デフォルトの名無しさん
2019/09/18(水) 22:47:30.76ID:Zy9clRCR >>483
bot(だと自分で思ってる)相手にレスしちゃう男の人なんて……
bot(だと自分で思ってる)相手にレスしちゃう男の人なんて……
485蟻人間 ◆T6xkBnTXz7B0
2019/09/19(木) 03:17:38.21ID:fzYUHnaE お題: 明日の東京都の天気を教えてくれる「お天気ねえさん」を実装せよ。
https://www.drk7.jp/weather/
ここのXMLデータを参考に、明日の東京都の天気を優しく説明してくれるような説明テキストを生成せよ。
例) 明日XX月YY日の東京都の天気は○○です。○○注意報が出ています。傘を忘れないでね。
https://www.drk7.jp/weather/
ここのXMLデータを参考に、明日の東京都の天気を優しく説明してくれるような説明テキストを生成せよ。
例) 明日XX月YY日の東京都の天気は○○です。○○注意報が出ています。傘を忘れないでね。
486蟻人間 ◆T6xkBnTXz7B0
2019/09/19(木) 03:40:46.99ID:fzYUHnaE ある種のデータは石油のように重要だから、データ自動生成は条件が揃えばお金儲けにつながる。まあ、とことんチャレンジしたまえ。
487デフォルトの名無しさん
2019/09/19(木) 04:53:29.17ID:kXMoSLFb >>485
sh と perl5
https://pastebin.com/3dXzkYvR
https://i.imgur.com/G3ehbXa.png
colorlizerの中がperl入りで
見やすくするユーティリティー
sh と perl5
https://pastebin.com/3dXzkYvR
https://i.imgur.com/G3ehbXa.png
colorlizerの中がperl入りで
見やすくするユーティリティー
488デフォルトの名無しさん
2019/09/19(木) 20:26:10.81ID:tW2U1Dga google の検索結果を 10 づつ合計 1000 件ダウンロードするプログラム
490デフォルトの名無しさん
2019/09/19(木) 21:01:33.69ID:Iq+eqHsU >>467 Lua
マルチバイト文字には対応していない。
function f(s)
local r,c="",1
for i=1,#s do
if s:sub(i,i)==s:sub(i+1,i+1) then
c=c+1
else
r=r..s:sub(i,i)
if c>1 then
r=r..c
c=1
end
end
end
return(r)
end
print(f("aaabbc"))
実行結果
a3b2c
マルチバイト文字には対応していない。
function f(s)
local r,c="",1
for i=1,#s do
if s:sub(i,i)==s:sub(i+1,i+1) then
c=c+1
else
r=r..s:sub(i,i)
if c>1 then
r=r..c
c=1
end
end
end
return(r)
end
print(f("aaabbc"))
実行結果
a3b2c
491デフォルトの名無しさん
2019/09/19(木) 21:11:19.84ID:VNRPdI7o492デフォルトの名無しさん
2019/09/19(木) 21:20:20.35ID:7Zlc7qce >>467
perl5
デバッガが日本語で化けるんで英語だけ
print("aabbccddd" =~ s{ (.) \1* }{ "$1" . length"$&" }xgre);
a2b2c2d3
perl5
デバッガが日本語で化けるんで英語だけ
print("aabbccddd" =~ s{ (.) \1* }{ "$1" . length"$&" }xgre);
a2b2c2d3
493デフォルトの名無しさん
2019/09/20(金) 00:35:55.08ID:brDhMnbX >>485 Perl5 (LWP::UserAgent、LWP::Protocol::https、XML::Simple のinstallしてあるPCで)
# -*- coding: utf-8 -*-
use utf8; use Data::Dump 'dump'; use Data::Dumper;
binmode STDOUT, ':encoding(utf-8)';
use feature say;
$pno = 13; # ex) 01:北海道, 13:東京, 20:長野, 47:沖縄
$url = "https://www.drk7.jp/weather/xml/$pno.xml";
require LWP::UserAgent; # with LWP::Protocol::https
$ua = LWP::UserAgent->new;
$ua->agent('Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko');
$xml = LWP::UserAgent->new->get($url)->content;
use XML::Simple;
my $xs = new XML::Simple; #(keyattr => ['area']); # (forcearray => ['info'], keyattr => ['pref']);
my $data = $xs->XMLin($xml);
say "$_: $data->{$_}" for qw{title link description pubDate author managingEditor};
$pref = $data->{pref}; say "都道府県: $pref->{id}";
%area = %{$pref->{area}};
for $region (keys %area) {
$area = $area{$region};
printf "地域: $region (緯度=%s, 経度=%s)\n", @{$area->{geo}}{qw{lat long}};
for $info (@{$area->{info}}) {
say " $info->{date} 天気:$info->{weather} (画像 $info->{img})";
$info->{$_} and say ' 'x9, $info->{$_} for qw{weather_detail wave};
%temp = %{$info->{temperature}};
say ' 'x6, " 気温[$temp{unit}]: ", join 'から', sort map{"$_->{content}°"} @{$temp{range}};
%rfc = %{$info->{rainfallchance}};
say ' 'x6, " 降水確率 : ", join ', ', map{"$_->{hour}時:$_->{content}$rfc{unit}"} @{$rfc{period}};
}
}
# -*- coding: utf-8 -*-
use utf8; use Data::Dump 'dump'; use Data::Dumper;
binmode STDOUT, ':encoding(utf-8)';
use feature say;
$pno = 13; # ex) 01:北海道, 13:東京, 20:長野, 47:沖縄
$url = "https://www.drk7.jp/weather/xml/$pno.xml";
require LWP::UserAgent; # with LWP::Protocol::https
$ua = LWP::UserAgent->new;
$ua->agent('Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko');
$xml = LWP::UserAgent->new->get($url)->content;
use XML::Simple;
my $xs = new XML::Simple; #(keyattr => ['area']); # (forcearray => ['info'], keyattr => ['pref']);
my $data = $xs->XMLin($xml);
say "$_: $data->{$_}" for qw{title link description pubDate author managingEditor};
$pref = $data->{pref}; say "都道府県: $pref->{id}";
%area = %{$pref->{area}};
for $region (keys %area) {
$area = $area{$region};
printf "地域: $region (緯度=%s, 経度=%s)\n", @{$area->{geo}}{qw{lat long}};
for $info (@{$area->{info}}) {
say " $info->{date} 天気:$info->{weather} (画像 $info->{img})";
$info->{$_} and say ' 'x9, $info->{$_} for qw{weather_detail wave};
%temp = %{$info->{temperature}};
say ' 'x6, " 気温[$temp{unit}]: ", join 'から', sort map{"$_->{content}°"} @{$temp{range}};
%rfc = %{$info->{rainfallchance}};
say ' 'x6, " 降水確率 : ", join ', ', map{"$_->{hour}時:$_->{content}$rfc{unit}"} @{$rfc{period}};
}
}
494デフォルトの名無しさん
2019/09/20(金) 00:38:16.81ID:brDhMnbX 実行結果(例)
~ $ perl 15_485.pl
title: weather forecast xml
link: http://www.drk7.jp/weather/xml/13.xml
description: 気象庁の天気予報情報を XML で配信。1日1回 AM 6:00 ごろ更新。
pubDate: Thu, 19 Sep 2019 18:00:01 +0900
author: 気象庁
managingEditor: drk7.jp
都道府県: 東京都
地域: 伊豆諸島南部 (緯度=33.2419, 経度=139.8418)
2019/09/19 天気:くもり時々雨 (画像 http://www.drk7.jp/MT/images/MTWeather/202.gif)
北東の風 やや強く くもり 夜のはじめ頃 雨 八丈島 では 夜遅く 雷を伴い 激しく 降る
波 3メートル うねり を伴う
気温[摂氏]: 21°から23°
降水確率 : 00-06時:0%, 06-12時:80%, 12-18時:50%, 18-24時:50%
2019/09/20 天気:くもり時々雨 (画像 http://www.drk7.jp/MT/images/MTWeather/203.gif)
東の風 やや強く くもり 一時 雨
波 4メートル のち 3メートル ただし 三宅島 では 3メートル
気温[摂氏]: 20°から23°
降水確率 : 00-06時:50%, 06-12時:60%, 12-18時:60%, 18-24時:50%
2019/09/21 天気:くもり一時雨 (画像 http://www.drk7.jp/MT/images/MTWeather/202.gif)
気温[摂氏]: 21°から26°
降水確率 : 00-06時:70%, 06-12時:70%, 12-18時:70%, 18-24時:70%
2019/09/22 天気:くもり一時雨 (画像 http://www.drk7.jp/MT/images/MTWeather/202.gif)
気温[摂氏]: 23°から29°
降水確率 : 00-06時:50%, 06-12時:50%, 12-18時:50%, 18-24時:50%
2019/09/23 天気:くもり一時雨 (画像 http://www.drk7.jp/MT/images/MTWeather/202.gif)
気温[摂氏]: 25°から29°
降水確率 : 00-06時:50%, 06-12時:50%, 12-18時:50%, 18-24時:50%
…(後略
~ $ perl 15_485.pl
title: weather forecast xml
link: http://www.drk7.jp/weather/xml/13.xml
description: 気象庁の天気予報情報を XML で配信。1日1回 AM 6:00 ごろ更新。
pubDate: Thu, 19 Sep 2019 18:00:01 +0900
author: 気象庁
managingEditor: drk7.jp
都道府県: 東京都
地域: 伊豆諸島南部 (緯度=33.2419, 経度=139.8418)
2019/09/19 天気:くもり時々雨 (画像 http://www.drk7.jp/MT/images/MTWeather/202.gif)
北東の風 やや強く くもり 夜のはじめ頃 雨 八丈島 では 夜遅く 雷を伴い 激しく 降る
波 3メートル うねり を伴う
気温[摂氏]: 21°から23°
降水確率 : 00-06時:0%, 06-12時:80%, 12-18時:50%, 18-24時:50%
2019/09/20 天気:くもり時々雨 (画像 http://www.drk7.jp/MT/images/MTWeather/203.gif)
東の風 やや強く くもり 一時 雨
波 4メートル のち 3メートル ただし 三宅島 では 3メートル
気温[摂氏]: 20°から23°
降水確率 : 00-06時:50%, 06-12時:60%, 12-18時:60%, 18-24時:50%
2019/09/21 天気:くもり一時雨 (画像 http://www.drk7.jp/MT/images/MTWeather/202.gif)
気温[摂氏]: 21°から26°
降水確率 : 00-06時:70%, 06-12時:70%, 12-18時:70%, 18-24時:70%
2019/09/22 天気:くもり一時雨 (画像 http://www.drk7.jp/MT/images/MTWeather/202.gif)
気温[摂氏]: 23°から29°
降水確率 : 00-06時:50%, 06-12時:50%, 12-18時:50%, 18-24時:50%
2019/09/23 天気:くもり一時雨 (画像 http://www.drk7.jp/MT/images/MTWeather/202.gif)
気温[摂氏]: 25°から29°
降水確率 : 00-06時:50%, 06-12時:50%, 12-18時:50%, 18-24時:50%
…(後略
495デフォルトの名無しさん
2019/09/20(金) 01:09:22.21ID:brDhMnbX お天気おねぃさんとは、ほど遠いなコリャ…
496デフォルトの名無しさん
2019/09/20(金) 04:34:57.12ID:vpcMUgg5 お題
以下の、列区切りが空白である入力文字列を、
最後の列の数値が、小さい順番で、行を並べ替えよ
答えは、上下が反転する
a b c 44
x y 33
z 22
11
以下の、列区切りが空白である入力文字列を、
最後の列の数値が、小さい順番で、行を並べ替えよ
答えは、上下が反転する
a b c 44
x y 33
z 22
11
497デフォルトの名無しさん
2019/09/20(金) 07:37:10.18ID:ZVVuMGcz >>496
cat text
a b c 44
x y 33
z 22
11
cat text | perl -pe 's/.*? \s? (\d+)/$1:$&/xgm' | sort -n | perl -pe 's/^\d+://'
11
z 22
x y 33
a b c 44
cat text
a b c 44
x y 33
z 22
11
cat text | perl -pe 's/.*? \s? (\d+)/$1:$&/xgm' | sort -n | perl -pe 's/^\d+://'
11
z 22
x y 33
a b c 44
498デフォルトの名無しさん
2019/09/20(金) 08:14:00.92ID:ImrTQZdo >>467
Common Lisp https://ideone.com/1VXrLk
Perl https://ideone.com/8SVG3V
JavaScript https://ideone.com/Cn73uX
Common Lisp https://ideone.com/1VXrLk
Perl https://ideone.com/8SVG3V
JavaScript https://ideone.com/Cn73uX
499デフォルトの名無しさん
2019/09/20(金) 09:52:16.00ID:PYkAN+VQ >>496 Ruby
puts <<~EOS.each_line.sort_by{|s| s[/\S+\n?/].to_i}
a b c 44
x y 33
z 22
11
EOS
# =>
11
z 22
x y 33
a b c 44
puts <<~EOS.each_line.sort_by{|s| s[/\S+\n?/].to_i}
a b c 44
x y 33
z 22
11
EOS
# =>
11
z 22
x y 33
a b c 44
500デフォルトの名無しさん
2019/09/20(金) 13:59:42.96ID:fZRbtgUM >>489
合法的? にやるにはどうすればいいの?
合法的? にやるにはどうすればいいの?
501デフォルトの名無しさん
2019/09/20(金) 14:08:52.93ID:qcElLt/f502デフォルトの名無しさん
2019/09/20(金) 15:01:57.40ID:8HAndpSr >>496 J
echo@>(/: {: @:(0&".) &.>) <;._2 stdin ''
echo@>(/: {: @:(0&".) &.>) <;._2 stdin ''
503デフォルトの名無しさん
2019/09/20(金) 15:07:26.20ID:uyZD/oLi http://appmarketinglabo.net/osaka-bakurotalk/
Q、hamonさん、ここだけの面白い話は何かありますか?
hamon:
絶対にこれをつくれば海外で10万DLされるという「超鉄板ジャンル」がある。
それは「3Dのリアルな人間をつかった実在のスポーツゲーム」、中身がクソでも10万DLはされる。
「ボクシングvs腕相撲」という実質もぐらたたきのようなゲームが30万DLいった。
「スキージャンプ アルティメイタム」というゲームが10万DLくらい。
マイナーなスポーツでもそのような結果なので、競技人口のベスト10のスポーツを調べてつくれば10万DLは固い。
普通につくるとコストがかかるが、UNITYでつくればストア上でモーションも売っているのでかなり稼げると思う。
Q、hamonさん、ここだけの面白い話は何かありますか?
hamon:
絶対にこれをつくれば海外で10万DLされるという「超鉄板ジャンル」がある。
それは「3Dのリアルな人間をつかった実在のスポーツゲーム」、中身がクソでも10万DLはされる。
「ボクシングvs腕相撲」という実質もぐらたたきのようなゲームが30万DLいった。
「スキージャンプ アルティメイタム」というゲームが10万DLくらい。
マイナーなスポーツでもそのような結果なので、競技人口のベスト10のスポーツを調べてつくれば10万DLは固い。
普通につくるとコストがかかるが、UNITYでつくればストア上でモーションも売っているのでかなり稼げると思う。
504デフォルトの名無しさん
2019/09/21(土) 00:27:57.30ID:dB3ZeAcF お題: 同じ文字列がいくつあるか数えるプログラムを作成しなさい。
※出力は出現回数順でソートされている必要はありません。
入力
Hoge
Fuga
Foo
Fuga
Foo
Hoge
Bar
Fuga
出力
Hoge 2
Fuga 3
Foo 2
Bar 1
※出力は出現回数順でソートされている必要はありません。
入力
Hoge
Fuga
Foo
Fuga
Foo
Hoge
Bar
Fuga
出力
Hoge 2
Fuga 3
Foo 2
Bar 1
505デフォルトの名無しさん
2019/09/21(土) 00:39:37.54ID:6wFtRpPA >>504 Perl5
$h{$_}++ for qw{Hoge Fuga Foo Fuga Foo Hoge Bar Fuga};
print "$_ $h{$_}\n" for keys %h;
実行結果
~ $ perl 15_504.pl
Fuga 3
Hoge 2
Bar 1
Foo 2
$h{$_}++ for qw{Hoge Fuga Foo Fuga Foo Hoge Bar Fuga};
print "$_ $h{$_}\n" for keys %h;
実行結果
~ $ perl 15_504.pl
Fuga 3
Hoge 2
Bar 1
Foo 2
506デフォルトの名無しさん
2019/09/21(土) 00:45:45.24ID:Ei1MM/mp507デフォルトの名無しさん
2019/09/21(土) 00:46:28.49ID:YPz6oCKs >>504
cat text
Hoge
Fuga
Foo
Fuga
Foo
Hoge
Bar
Fuga
cat text | perl -ne '$dirs{ s/\R//r } += 1; END{for $key (keys %dirs) {printf "%-4s %s\n", $key, $dirs{$key} } }'
Foo 2
Fuga 3
Bar 1
Hoge 2
cat text
Hoge
Fuga
Foo
Fuga
Foo
Hoge
Bar
Fuga
cat text | perl -ne '$dirs{ s/\R//r } += 1; END{for $key (keys %dirs) {printf "%-4s %s\n", $key, $dirs{$key} } }'
Foo 2
Fuga 3
Bar 1
Hoge 2
508デフォルトの名無しさん
2019/09/21(土) 00:50:19.09ID:Ei1MM/mp うほっ。C++のunordered_mapはオーダー要求しないから、そこを使って最適化物故むとかやるんかいな。
VCとGCCと挙動違う。
VCとGCCと挙動違う。
509デフォルトの名無しさん
2019/09/21(土) 00:59:47.45ID:6wFtRpPA >>496 Perl5
sub f {$_[0] =~ /(\d+)/; $1};
print sort{ f($a) <=> f($b) } <DATA>;
__DATA__
a b c 44
x y 33
z 22
11
実行結果
~ $ perl 15_496.pl
11
z 22
x y 33
a b c 44
sub f {$_[0] =~ /(\d+)/; $1};
print sort{ f($a) <=> f($b) } <DATA>;
__DATA__
a b c 44
x y 33
z 22
11
実行結果
~ $ perl 15_496.pl
11
z 22
x y 33
a b c 44
510デフォルトの名無しさん
2019/09/21(土) 04:32:25.24ID:DxluyDWg511デフォルトの名無しさん
2019/09/21(土) 05:21:21.47ID:DxluyDWg512デフォルトの名無しさん
2019/09/21(土) 05:37:07.36ID:RmdAWOHY513デフォルトの名無しさん
2019/09/21(土) 15:59:00.83ID:uZ0K83Mw >>496 ruby
https://ideone.com/VtI7C7
puts readlines.sort_by {|s| s[/\d+$/].to_i}
>>504 ruby
https://ideone.com/Sw6k17
puts $<.read.scan(/\w+/).group_by(&:itself).map {|a, b| '%s %d' % [a, b.size]}
https://ideone.com/VtI7C7
puts readlines.sort_by {|s| s[/\d+$/].to_i}
>>504 ruby
https://ideone.com/Sw6k17
puts $<.read.scan(/\w+/).group_by(&:itself).map {|a, b| '%s %d' % [a, b.size]}
514デフォルトの名無しさん
2019/09/21(土) 16:12:27.45ID:ZyFDPzPp お題:正の整数が与えられるので、英語の序数に変換せよ
1 => 1st
23 => 23rd
12 => 12th
1 => 1st
23 => 23rd
12 => 12th
515デフォルトの名無しさん
2019/09/21(土) 16:40:16.71ID:6wFtRpPA >>514 Perl5
%o = qw{1 st 2 nd 3 rd};
$o = $o{$_}//'th', print "$_$o\n" for 1..10,12,23;
実行
~ $ perl 15_514.pl
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
10th
12th
23th
%o = qw{1 st 2 nd 3 rd};
$o = $o{$_}//'th', print "$_$o\n" for 1..10,12,23;
実行
~ $ perl 15_514.pl
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
10th
12th
23th
516デフォルトの名無しさん
2019/09/21(土) 16:54:30.22ID:6wFtRpPA517デフォルトの名無しさん
2019/09/21(土) 17:38:27.55ID:uZ0K83Mw518デフォルトの名無しさん
2019/09/21(土) 18:24:27.24ID:9SoaGQ4l519デフォルトの名無しさん
2019/09/21(土) 19:12:36.02ID:AojYT9zq 1st 2nd 3rd
11th 12th 13th
21st 22nd 23rd
101st 102nd 103rd
111th 112th 113th
121st 122nd 123rd
皆さんここらへん大丈夫?
11th 12th 13th
21st 22nd 23rd
101st 102nd 103rd
111th 112th 113th
121st 122nd 123rd
皆さんここらへん大丈夫?
520デフォルトの名無しさん
2019/09/21(土) 19:41:28.17ID:6wFtRpPA >>514 Perl5、>>519 で指摘された誤りの修正 テヘペロ
%h = qw{1 st 2 nd 3 rd};
for (1..4,11,12,13,21,22,23,101,102,103,111,112,113,121,122,123) {
/(\d?)(\d)$/;
printf "$_ => $_%s\n", $1 eq 1 ? 'th' : $h{$2}//'th';
}
実行結果
~ $ perl 15_514.pl
1 => 1st
2 => 2nd
3 => 3rd
4 => 4th
11 => 11th
12 => 12th
13 => 13th
21 => 21st
22 => 22nd
23 => 23rd
101 => 101st
102 => 102nd
103 => 103rd
111 => 111th
112 => 112th
113 => 113th
121 => 121st
122 => 122nd
123 => 123rd
%h = qw{1 st 2 nd 3 rd};
for (1..4,11,12,13,21,22,23,101,102,103,111,112,113,121,122,123) {
/(\d?)(\d)$/;
printf "$_ => $_%s\n", $1 eq 1 ? 'th' : $h{$2}//'th';
}
実行結果
~ $ perl 15_514.pl
1 => 1st
2 => 2nd
3 => 3rd
4 => 4th
11 => 11th
12 => 12th
13 => 13th
21 => 21st
22 => 22nd
23 => 23rd
101 => 101st
102 => 102nd
103 => 103rd
111 => 111th
112 => 112th
113 => 113th
121 => 121st
122 => 122nd
123 => 123rd
521さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/09/21(土) 20:51:54.21ID:BmADEcuL お題: 与えられた西暦年月日を年号年月日に変換しなさい。ただし、変換するのは大正時代から令和までとし、範囲外であればERRORを表示しなさい。
522さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/09/21(土) 21:04:33.10ID:BmADEcuL お題: YYYY/MM/DD形式で与えられた西暦年月日の文字列が正しい年月日を表しているかどうか判定せよ。
523蟻人間 ◆T6xkBnTXz7B0
2019/09/21(土) 21:24:10.22ID:BmADEcuL524デフォルトの名無しさん
2019/09/21(土) 22:12:07.89ID:y97V3EOz >>522 Perl5
use Time::Piece;
for (<DATA>) {
chomp;
my $t;
eval {$t = Time::Piece->strptime($_, '%Y/%m/%d')};
$t //= 'Invalid';
print "$_: $t\n";
}
__DATA__
1970/01/05
1990/12/31
2019/04/28
2019/05/01
1920/02/29
0000/13/32
実行結果
1970/01/05: Mon Jan 5 00:00:00 1970
1990/12/31: Mon Dec 31 00:00:00 1990
2019/04/28: Sun Apr 28 00:00:00 2019
2019/05/01: Wed May 1 00:00:00 2019
1920/02/29: Sun Feb 29 00:00:00 1920
0000/13/32: Invalid
use Time::Piece;
for (<DATA>) {
chomp;
my $t;
eval {$t = Time::Piece->strptime($_, '%Y/%m/%d')};
$t //= 'Invalid';
print "$_: $t\n";
}
__DATA__
1970/01/05
1990/12/31
2019/04/28
2019/05/01
1920/02/29
0000/13/32
実行結果
1970/01/05: Mon Jan 5 00:00:00 1970
1990/12/31: Mon Dec 31 00:00:00 1990
2019/04/28: Sun Apr 28 00:00:00 2019
2019/05/01: Wed May 1 00:00:00 2019
1920/02/29: Sun Feb 29 00:00:00 1920
0000/13/32: Invalid
525524
2019/09/21(土) 22:29:42.44ID:y97V3EOz526デフォルトの名無しさん
2019/09/21(土) 22:37:53.07ID:tuxPF//K■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 働いて参ります
- ( ・᷄ὢ・᷅ )あ?
- 地震
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
- ブタをぶったたく
