プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part18
https://mevius.5ch.net/test/read.cgi/tech/1594702426/
探検
プログラミングのお題スレ Part19
■ このスレッドは過去ログ倉庫に格納されています
2020/11/30(月) 00:04:05.21ID:TF2Czp0y
672デフォルトの名無しさん
2021/05/06(木) 22:23:58.98ID:wWHyWlvf >>668
#include <studio.h>
#include <studio.h>
673行間を読みなさいw
2021/05/07(金) 13:48:08.72ID:H+I+sfZ3 WHEREコマンドはReactOSに既に実装されています。
なので、(あえて作る場合でも)それを基にしてく
ださい(よ、頼むからさ。失礼だと思わないの?)
>コマンドではなく機能です。そして(既に実装されている)
>それは、この目的に対して便利ではありません。
貴方は公開されている(ReactOS実装の?)関数の
コードをパクって、独立したアプリケーションにしたと
いうわけですね。
というのであれば(我々の)メインストリームコードと
同期しているサードパーティコードみたいな感じを
装う必要はありません(はっきり言わせてもらえば
「しないで下さい」)
なので、(あえて作る場合でも)それを基にしてく
ださい(よ、頼むからさ。失礼だと思わないの?)
>コマンドではなく機能です。そして(既に実装されている)
>それは、この目的に対して便利ではありません。
貴方は公開されている(ReactOS実装の?)関数の
コードをパクって、独立したアプリケーションにしたと
いうわけですね。
というのであれば(我々の)メインストリームコードと
同期しているサードパーティコードみたいな感じを
装う必要はありません(はっきり言わせてもらえば
「しないで下さい」)
674デフォルトの名無しさん
2021/05/07(金) 13:57:45.37ID:H+I+sfZ3 システムで色々な箇所で使用される短縮名称
を正式名称と(相互)変換する機能なんて
アルゴリズムとかの題材とかには不適。
泥臭い部分がかなりあるシステム固有の設計
の話になるしたとえコードは公開しているに
せよ部外者の立ち入りは歓迎されないのは
当然。 実情を詳しく知らない外部の人に
任せられる部分じゃなかったりするから。
を正式名称と(相互)変換する機能なんて
アルゴリズムとかの題材とかには不適。
泥臭い部分がかなりあるシステム固有の設計
の話になるしたとえコードは公開しているに
せよ部外者の立ち入りは歓迎されないのは
当然。 実情を詳しく知らない外部の人に
任せられる部分じゃなかったりするから。
675デフォルトの名無しさん
2021/05/07(金) 19:10:13.55ID:FdFZQv1E >>656 JavaScript
"A/B/B/B".replace(/^\/|\/?[^\/]*/g, (_, o, s) => console.log(s.substring(0, o)));
"A/B/B/B".replace(/^\/|\/?[^\/]*/g, (_, o, s) => console.log(s.substring(0, o)));
676Mb
2021/05/07(金) 22:02:57.18ID:P+8SzjSX 読み仮名(ひらがな、カタカナ)から、単純なコード順の整列キーを
生成するルーチンを書く。
単純にコード順で整列すると、「ガレージ」は「カレー」の直後には
こなくて、「か(蚊)」の後ではなく、「ガ(蛾)」の後に
来てしまう。
比較関数を定義しようとすると、順序関係が一意に決まらなくなって
整列ルーチンが止まらなくなる。また、SQL などの整列機能が利用できない。
業務系のシステムだと、企業名だとか個人名だとかの読みで整列する
要求があるので、読みの入力時に整列用のキーを生成しておくのが
吉と思われる。
生成するルーチンを書く。
単純にコード順で整列すると、「ガレージ」は「カレー」の直後には
こなくて、「か(蚊)」の後ではなく、「ガ(蛾)」の後に
来てしまう。
比較関数を定義しようとすると、順序関係が一意に決まらなくなって
整列ルーチンが止まらなくなる。また、SQL などの整列機能が利用できない。
業務系のシステムだと、企業名だとか個人名だとかの読みで整列する
要求があるので、読みの入力時に整列用のキーを生成しておくのが
吉と思われる。
677デフォルトの名無しさん
2021/05/08(土) 01:15:44.80ID:qYTbA2A2 >>651 C++
エクセル使ったことないから挙動が違ってたらごめんね
最後のほうはやっつけで書いたのでバグってるかもしれない
https://wandbox.org/permlink/AfU4a1aLrkxhkErW
エクセル使ったことないから挙動が違ってたらごめんね
最後のほうはやっつけで書いたのでバグってるかもしれない
https://wandbox.org/permlink/AfU4a1aLrkxhkErW
678デフォルトの名無しさん
2021/05/08(土) 05:04:40.43ID:PD8fhCnz680デフォルトの名無しさん
2021/05/08(土) 14:56:47.01ID:bO3UufY6681デフォルトの名無しさん
2021/05/09(日) 21:15:00.81ID:1F2i56L2 お題:
N 人が一列に並んでおり、左から i 人目の人は色 C[i] の服を着ています。
あるチームは次の条件を満たすとき、良いチームであると言います。
- 0 人以上が所属している。
- すべての色 i について、色 i の服を着た人がチームに偶数人所属している。
N 人から "連続する" 0 人以上を選んで良いチームを作るとき、
チームに所属する人の数としてあり得る最大値を求めて下さい。
制約:
1≦N≦10^6
1≦C[i]≦60
入力:
N
C1 C2 ... CN
入力例 1
5
1 2 3 3 1
出力例 1
2
入力例 2
5
1 2 3 4 5
出力例 2
0
N 人が一列に並んでおり、左から i 人目の人は色 C[i] の服を着ています。
あるチームは次の条件を満たすとき、良いチームであると言います。
- 0 人以上が所属している。
- すべての色 i について、色 i の服を着た人がチームに偶数人所属している。
N 人から "連続する" 0 人以上を選んで良いチームを作るとき、
チームに所属する人の数としてあり得る最大値を求めて下さい。
制約:
1≦N≦10^6
1≦C[i]≦60
入力:
N
C1 C2 ... CN
入力例 1
5
1 2 3 3 1
出力例 1
2
入力例 2
5
1 2 3 4 5
出力例 2
0
682デフォルトの名無しさん
2021/05/09(日) 22:47:51.84ID:YYfh4rSr >>681
Haskell
import Data.List
mxLenGoodTeams cs = let
teams = [ take j $ drop i $ cs |
i <- [ 0..( length cs - 1) ],
j <- [ 2 .. ( length cs - i ) ] ]
isGoodTeam team
= all ( even . length ) $ group $ sort $ team
in maximum $ ( 0 : ) $ map length $ filter isGoodTeam teams
main = do
print $ mxLenGoodTeams $ [ 1,2,3,3,1 ]
print $ mxLenGoodTeams $ [ 1,2,3,4,5 ]
Haskell
import Data.List
mxLenGoodTeams cs = let
teams = [ take j $ drop i $ cs |
i <- [ 0..( length cs - 1) ],
j <- [ 2 .. ( length cs - i ) ] ]
isGoodTeam team
= all ( even . length ) $ group $ sort $ team
in maximum $ ( 0 : ) $ map length $ filter isGoodTeam teams
main = do
print $ mxLenGoodTeams $ [ 1,2,3,3,1 ]
print $ mxLenGoodTeams $ [ 1,2,3,4,5 ]
683デフォルトの名無しさん
2021/05/10(月) 00:22:13.18ID:mAsL1Pq+684デフォルトの名無しさん
2021/05/10(月) 01:18:02.63ID:DR29Zbhh685デフォルトの名無しさん
2021/05/10(月) 01:18:51.44ID:DR29Zbhh686デフォルトの名無しさん
2021/05/11(火) 00:16:24.82ID:sq5XRTcM >>681
問題の意味がわからない。
> - すべての色 i について、色 i の服を着た人がチームに偶数人所属している。
とはどういう意味なのか?
「すべての色 i 」とは何か?
「色 i の服を着た人がチームに偶数人所属」というのはどういう意味なのか? 同じ色の服を着た人は存在しないのだよな?
問題の意味がわからない。
> - すべての色 i について、色 i の服を着た人がチームに偶数人所属している。
とはどういう意味なのか?
「すべての色 i 」とは何か?
「色 i の服を着た人がチームに偶数人所属」というのはどういう意味なのか? 同じ色の服を着た人は存在しないのだよな?
687デフォルトの名無しさん
2021/05/11(火) 05:10:59.51ID:TUYWs3v7 毎度ながら日本語も問題作成も入出力例もクッソ下手だとは思うが
おまえはおまえで読解力無さ過ぎ
連続した (1≦10^6)個のデータ
データ内容は 1≦60
データ内容が偶数個となる連続した部分の最大長
1 2 2 3 3 4 4 5 → 2 2 3 3 4 4 → 6
1 2 3 4 2 3 4 5 → 2 3 4 2 3 4 → 6
1 2 3 4 5 2 3 4 → - → 0
1 2 3 3 2 4 5 4 → 2 3 3 2 → 4
1 2 3 2 2 3 2 4 → 2 3 2 2 3 2 → 6
まあ例に関しては俺も人のこと言えない
陥りやすいミスを確認しやすいキラーサンプル的な例がいくつかあればベスト
おまえはおまえで読解力無さ過ぎ
連続した (1≦10^6)個のデータ
データ内容は 1≦60
データ内容が偶数個となる連続した部分の最大長
1 2 2 3 3 4 4 5 → 2 2 3 3 4 4 → 6
1 2 3 4 2 3 4 5 → 2 3 4 2 3 4 → 6
1 2 3 4 5 2 3 4 → - → 0
1 2 3 3 2 4 5 4 → 2 3 3 2 → 4
1 2 3 2 2 3 2 4 → 2 3 2 2 3 2 → 6
まあ例に関しては俺も人のこと言えない
陥りやすいミスを確認しやすいキラーサンプル的な例がいくつかあればベスト
688デフォルトの名無しさん
2021/05/11(火) 20:07:35.50ID:m1fDyeBb 入出力例は不親切だとは思うが
問題文自体は問題ないでしょう
あれが理解できないというのであれば理解できない側の能力に問題がある
問題文自体は問題ないでしょう
あれが理解できないというのであれば理解できない側の能力に問題がある
689デフォルトの名無しさん
2021/05/11(火) 20:11:36.25ID:jkEXfYRr 色C[i]
色i
終了
色i
終了
690デフォルトの名無しさん
2021/05/11(火) 20:21:52.62ID:IH6PME9X 色C[i]は「i番目の人が来ている服の色」
色iは単に色
色iは単に色
691デフォルトの名無しさん
2021/05/11(火) 20:23:51.68ID:PxX+uCNu692デフォルトの名無しさん
2021/05/11(火) 20:27:14.53ID:IH6PME9X693デフォルトの名無しさん
2021/05/11(火) 20:30:24.67ID:AKHuOMpp 別にiが添え字の自然数と宣言しているわけでもなし文法的にも間違ってない
アスペでもない限り理解できる
アスペでもない限り理解できる
694デフォルトの名無しさん
2021/05/11(火) 20:35:40.14ID:jkEXfYRr C[blue]みたいな?
iはインデックスじゃないんだ
iはインデックスじゃないんだ
695デフォルトの名無しさん
2021/05/11(火) 20:38:54.00ID:PxX+uCNu696デフォルトの名無しさん
2021/05/11(火) 20:40:02.84ID:aw7aUPl3 >>695
お、perlおじさんか?
お、perlおじさんか?
697デフォルトの名無しさん
2021/05/11(火) 20:40:22.57ID:PxX+uCNu >>686が嫌味で書いたのか本当にわからなかったのかはわからない
698デフォルトの名無しさん
2021/05/12(水) 10:57:02.98ID:xHZdId+E プログラミング言語が使えても日本語が使えないのでは話が伝わらない。
それだったらプログラミング言語でそのまま書いてくれた方がここのスレでは話が通じる。
それだったらプログラミング言語でそのまま書いてくれた方がここのスレでは話が通じる。
699デフォルトの名無しさん
2021/05/12(水) 12:28:32.10ID:kJR81pbU ・左から100番目の人はC[100]の色の服を着ていると読める
・列を自由に入力して良いのなら、最大値はN以下の偶数となり自明
・列を自由に入力して良いのなら、最大値はN以下の偶数となり自明
700デフォルトの名無しさん
2021/05/12(水) 14:17:43.85ID:Ro8bxiRw まるで競プロだな
701デフォルトの名無しさん
2021/05/12(水) 16:05:32.13ID:ASs2TDTE >>681
出題者です
問題文がわかりずらかったみたいですいません
想定解法書きます (配列はすべて 0-index です)
A[0] = 0
A[i] = A[i - 1] xor (2^(C[i - 1] - 1)) (1≦i≦N)
な配列 A を考えます
ある区間 [L, R) がいいチームであるならば、A[R] xor A[L] = 0 です (累積和と同じ発想です)
両辺に A[R] を xor すると A[L] = A[R] になります
R を全探索しながらあり得る L のうちで一番左側のものを連想配列などで求めることで
N = 10^6 などのケースでも高速に答えを得ることができます
出題者です
問題文がわかりずらかったみたいですいません
想定解法書きます (配列はすべて 0-index です)
A[0] = 0
A[i] = A[i - 1] xor (2^(C[i - 1] - 1)) (1≦i≦N)
な配列 A を考えます
ある区間 [L, R) がいいチームであるならば、A[R] xor A[L] = 0 です (累積和と同じ発想です)
両辺に A[R] を xor すると A[L] = A[R] になります
R を全探索しながらあり得る L のうちで一番左側のものを連想配列などで求めることで
N = 10^6 などのケースでも高速に答えを得ることができます
702デフォルトの名無しさん
2021/05/13(木) 13:08:14.73ID:tJiNVUVY 問題文の他例が二つしかないから分かりにくい
>>687の説明みるまで何が良いチームなのか分かりにくい
>>687の説明みるまで何が良いチームなのか分かりにくい
703デフォルトの名無しさん
2021/05/13(木) 19:07:49.38ID:3W7MB1VC > 一列に並んでおり、左から
左てなんだ?先頭末尾なら分かるが
> 良いチームであると言います
なんだそのモヤる日本語。普通にチームで良いだろ
チームの条件として色が偶数があれば良いんだから
> i 人目の人は色 C[i] の服を着て
あとの制約見るまで一意かと勘違いする。説明でいちいち C[i] と置くのもイミフ
説明をただただややこしくしてるだけ
仕事で仕様の説明でこんな喩え話してきたらキレるわ
左てなんだ?先頭末尾なら分かるが
> 良いチームであると言います
なんだそのモヤる日本語。普通にチームで良いだろ
チームの条件として色が偶数があれば良いんだから
> i 人目の人は色 C[i] の服を着て
あとの制約見るまで一意かと勘違いする。説明でいちいち C[i] と置くのもイミフ
説明をただただややこしくしてるだけ
仕事で仕様の説明でこんな喩え話してきたらキレるわ
704デフォルトの名無しさん
2021/05/13(木) 21:41:53.75ID:B4CYAsif 短気すぎるだろ
705Mb
2021/05/13(木) 21:42:39.21ID:kEXKw6jf >>693
> アスペでもない限り理解できる
「アスペルガー症候群」というのは、昔は「高機能広汎性発達障害」といって、
わりと馬鹿にしたもんでもない。かくいう私も、いわゆる「アスペ」の
一人だ。
ここで問題。日本語の(現代語の)動詞のうち、アルゴリズム的に押さえこめる
動詞(規則活用動詞)"以外の" 動詞はいくつあるか。
なお、「長尾の法則」(頭から見ていって、非・漢字から漢字に変化するところで、
文節は切れる)は使ってよし(「お」とか「ご」とかは名詞につくから、
このさい関係はなし)。
とりあえず六つはあって、サ変とかカ変とかは既知だけど、「そもそも、
どれだけあるのか?」っつー話になると、かなり面倒。
> アスペでもない限り理解できる
「アスペルガー症候群」というのは、昔は「高機能広汎性発達障害」といって、
わりと馬鹿にしたもんでもない。かくいう私も、いわゆる「アスペ」の
一人だ。
ここで問題。日本語の(現代語の)動詞のうち、アルゴリズム的に押さえこめる
動詞(規則活用動詞)"以外の" 動詞はいくつあるか。
なお、「長尾の法則」(頭から見ていって、非・漢字から漢字に変化するところで、
文節は切れる)は使ってよし(「お」とか「ご」とかは名詞につくから、
このさい関係はなし)。
とりあえず六つはあって、サ変とかカ変とかは既知だけど、「そもそも、
どれだけあるのか?」っつー話になると、かなり面倒。
706デフォルトの名無しさん
2021/05/13(木) 21:45:18.19ID:B4CYAsif707デフォルトの名無しさん
2021/05/13(木) 22:16:56.76ID:lZ9C/hi/ お前も短気すぎるw
708デフォルトの名無しさん
2021/05/13(木) 23:36:26.05ID:mWio4uhK さっさとPythonやらせれ
ちょっとでいいから
20年前に覚えたPerlに変わるマクロがいるんじゃああああああ
VBAでいいとかいわない
ちょっとでいいから
20年前に覚えたPerlに変わるマクロがいるんじゃああああああ
VBAでいいとかいわない
709デフォルトの名無しさん
2021/05/14(金) 11:54:50.47ID:l/Mcr9Yu バカの書いた不適切な文書は不和をもたらす
>>681のことな
>>681のことな
710デフォルトの名無しさん
2021/05/14(金) 13:21:20.02ID:23AH7lhZ もうこれからは出題するときは頭に馬鹿には理解できない問題
ってとりあえず書いておけばいいのに
そうすれば荒れることもなくなるだろうから
ってとりあえず書いておけばいいのに
そうすれば荒れることもなくなるだろうから
711デフォルトの名無しさん
2021/05/14(金) 13:38:00.72ID:f3dsViZI 【コミュニティの一生】
面白い人が面白いことをする
↓
面白いから凡人が集まってくる
↓
住み着いた凡人が居場所を守るために主張し始める
↓
面白い人が見切りをつけて居なくなる
↓
残った凡人が面白くないことをする
↓
面白くないので皆居なくなる
面白い人が面白いことをする
↓
面白いから凡人が集まってくる
↓
住み着いた凡人が居場所を守るために主張し始める
↓
面白い人が見切りをつけて居なくなる
↓
残った凡人が面白くないことをする
↓
面白くないので皆居なくなる
712デフォルトの名無しさん
2021/05/14(金) 14:08:14.84ID:4R64iY9Y 問題を作るのは難しいからしゃあない
どんな入力で、求めるのが値なのかアルゴリズムなのかを明示すればいい
どんな入力で、求めるのが値なのかアルゴリズムなのかを明示すればいい
713デフォルトの名無しさん
2021/05/14(金) 15:59:25.59ID:BwDBHw+5 お題: join関数を自作せよ
join関数は第2引数の配列を第1引数の文字列で連結する関数である
func join(sep, array)
s = join(':', ['1', '2', '3'])
puts(s)
# 1:2:3
sepは文字列で、文字列で無かった場合の動作は未定義である
arrayは長さが0以上の配列で要素は文字列である。それ以外の構造は未定義である
join関数は第2引数の配列を第1引数の文字列で連結する関数である
func join(sep, array)
s = join(':', ['1', '2', '3'])
puts(s)
# 1:2:3
sepは文字列で、文字列で無かった場合の動作は未定義である
arrayは長さが0以上の配列で要素は文字列である。それ以外の構造は未定義である
714デフォルトの名無しさん
2021/05/14(金) 16:23:22.95ID:WbiXCFQ1 先に解答例を作ってそこから試験問題作る先生のように
逆にたどって問題作れば分かり易い問題作れるのに
イキって、よーし、ぼくちゃん問題作っちゃるぞー!って、
解答未定のまま問題から作り始めるから今回のようにアフォなことになるんよ
逆にたどって問題作れば分かり易い問題作れるのに
イキって、よーし、ぼくちゃん問題作っちゃるぞー!って、
解答未定のまま問題から作り始めるから今回のようにアフォなことになるんよ
715デフォルトの名無しさん
2021/05/14(金) 16:35:13.82ID:cn5v//cT python
def joint(s,x,y=""):
if len(x) == 1:
print(f"{x[-1]}{y}")
else:
joint(s,x[:-1],f"{s}{x[-1]}{y}"))
def joint(s,x,y=""):
if len(x) == 1:
print(f"{x[-1]}{y}")
else:
joint(s,x[:-1],f"{s}{x[-1]}{y}"))
716デフォルトの名無しさん
2021/05/14(金) 16:45:17.02ID:4R64iY9Y717デフォルトの名無しさん
2021/05/14(金) 19:57:58.55ID:BwDBHw+5718デフォルトの名無しさん
2021/05/14(金) 20:06:49.42ID:m9ewaxml >>713
Haskell
join x = tail . concat . map ( ( x : ) . return )
main = do
print $ join ':' "123"
print $ join ' ' "Hello"
Haskell
join x = tail . concat . map ( ( x : ) . return )
main = do
print $ join ':' "123"
print $ join ' ' "Hello"
719デフォルトの名無しさん
2021/05/14(金) 20:28:04.72ID:DpIMp/DM >>713 Lua
function join(d, a)
local r = a[1]
for i = 2, #a do
r = r .. d .. a[i]
end
return r
end
print(join(":", {"1", "2", "3"}))
実行結果
1:2:3
function join(d, a)
local r = a[1]
for i = 2, #a do
r = r .. d .. a[i]
end
return r
end
print(join(":", {"1", "2", "3"}))
実行結果
1:2:3
720デフォルトの名無しさん
2021/05/14(金) 20:49:04.94ID:SGxg0iSp def join(sep, list)
□return sep.join(list)
□return sep.join(list)
721デフォルトの名無しさん
2021/05/14(金) 21:20:46.78ID:9KJ7FZky722デフォルトの名無しさん
2021/05/14(金) 21:50:11.90ID:G1LerHLY723蟻人間 ◆T6xkBnTXz7B0
2021/05/14(金) 22:06:57.32ID:YwXzhkVg お題: split関数を自作せよ。
split関数は第2引数の文字列を第1引数の文字列を区切りとして分割した配列を返す関数である。
func split(sep, str)
s = split(':', '1:2:3')
puts(s)
# [1, 2, 3]
sepは文字列で、文字列で無かった場合の動作は未定義である。sepの長さがゼロの場合は第二引数を一文字ずつ分割する。
strは長さが0以上の文字列である。
split関数は第2引数の文字列を第1引数の文字列を区切りとして分割した配列を返す関数である。
func split(sep, str)
s = split(':', '1:2:3')
puts(s)
# [1, 2, 3]
sepは文字列で、文字列で無かった場合の動作は未定義である。sepの長さがゼロの場合は第二引数を一文字ずつ分割する。
strは長さが0以上の文字列である。
724デフォルトの名無しさん
2021/05/14(金) 22:12:56.30ID:vm/4NlOj join見て脊髄反射する虫並みの思考
725デフォルトの名無しさん
2021/05/14(金) 23:14:10.50ID:RR8r1Nrv >>713
Kotlin または Kotlin script
関数定義
fun join(sep: String, vararg a: String) = a.reduce { acc, s -> "$acc$sep$s" }
使用する時
println(join(",", "abc", "def", "1", "23", "456"))
または
println(join(",", arrayOf("abc", "def", "1", "23", "456")))
これで出力はどちらもこうなる。
abc,def,1,23,456
Kotlin または Kotlin script
関数定義
fun join(sep: String, vararg a: String) = a.reduce { acc, s -> "$acc$sep$s" }
使用する時
println(join(",", "abc", "def", "1", "23", "456"))
または
println(join(",", arrayOf("abc", "def", "1", "23", "456")))
これで出力はどちらもこうなる。
abc,def,1,23,456
726デフォルトの名無しさん
2021/05/14(金) 23:19:19.70ID:SGxg0iSp def split(sep,str)
□return str.split(sep)
□return str.split(sep)
727デフォルトの名無しさん
2021/05/14(金) 23:24:38.63ID:4R64iY9Y728デフォルトの名無しさん
2021/05/15(土) 00:15:44.50ID:yahE8f7K sepの長さがゼロなら一文字ずつ分割するか
忘れてたわ
忘れてたわ
729デフォルトの名無しさん
2021/05/15(土) 00:33:17.27ID:YdirCY4B 出題者は効率のいいアルゴリズムを考え(>>701)させたかったが、
回答者は言われた通りのものを実装するだけのお題を望んでたって感じか (だから問題文がややこしいとか言われるんだろう)
このスレ向きのお題じゃなかったな
回答者は言われた通りのものを実装するだけのお題を望んでたって感じか (だから問題文がややこしいとか言われるんだろう)
このスレ向きのお題じゃなかったな
730デフォルトの名無しさん
2021/05/15(土) 00:56:03.56ID:JNomAybm ンなワケねえだろ
お前本人か?
競プロの他の問題文と比べて明らかに文章の質が低いじゃん
お前本人か?
競プロの他の問題文と比べて明らかに文章の質が低いじゃん
731デフォルトの名無しさん
2021/05/15(土) 02:20:17.81ID:yahE8f7K732デフォルトの名無しさん
2021/05/15(土) 09:21:42.89ID:YsUBX88Q やはり速度が問題ならその旨ちゃんと書かないとわからない
そもそもプログラムは早ければいいわけではないし、短ければいいわけでもないし、可読性が高ければそれでいいわけでもない
それらは全部トレードオフの関係があってどこにウェイトを置くかはそれが使われる場面場面で変わってくる
「このお題では速度重視」というならその旨明示しないと
そもそもプログラムは早ければいいわけではないし、短ければいいわけでもないし、可読性が高ければそれでいいわけでもない
それらは全部トレードオフの関係があってどこにウェイトを置くかはそれが使われる場面場面で変わってくる
「このお題では速度重視」というならその旨明示しないと
733デフォルトの名無しさん
2021/05/15(土) 09:48:59.68ID:GxLTBboh ゴルフ問題でもいいぞ
734デフォルトの名無しさん
2021/05/15(土) 12:53:51.38ID:yahE8f7K 100桁以下の60進数の数列があって、条件に適合し得る部分の最大の長さはいくらかだから
N以下の偶数の最大値で自明だろ
だから何の問題なのか分からんって人がいるんじゃね?
N以下の偶数の最大値で自明だろ
だから何の問題なのか分からんって人がいるんじゃね?
735デフォルトの名無しさん
2021/05/15(土) 13:06:25.58ID:yahE8f7K 100桁じゃねえ100万桁だ
736デフォルトの名無しさん
2021/05/15(土) 13:07:07.72ID:yahE8f7K 100万桁じゃねえ100万以下だ
737デフォルトの名無しさん
2021/05/15(土) 13:08:15.70ID:yahE8f7K 100万桁で良いのか
寝ぼけてんな、失礼
寝ぼけてんな、失礼
738デフォルトの名無しさん
2021/05/15(土) 15:54:17.99ID:d+8scdvN >>723
Kotlin
https://paiza.io/projects/rXwwuvtSVOP4hMo6FOyZuA
どうせループさせるんだから Iterator 作ってやっちゃおうか、など、色々やって長くなった。
Kotlin
https://paiza.io/projects/rXwwuvtSVOP4hMo6FOyZuA
どうせループさせるんだから Iterator 作ってやっちゃおうか、など、色々やって長くなった。
739デフォルトの名無しさん
2021/05/15(土) 15:57:04.95ID:d+8scdvN 区切り文字列が長さ0の時の処理がバグってて最後の文字がなくなるな。
こっそり直しておこう。
こっそり直しておこう。
740デフォルトの名無しさん
2021/05/15(土) 15:58:56.01ID:d+8scdvN 直った。
741蟻人間 ◆T6xkBnTXz7B0
2021/05/16(日) 11:50:18.74ID:EAK6Onef お題: 任意のテキストデータから数値データを抽出し、列挙するプログラム。
「12あいうえお34.5かき7.0くけこ」
→[12, 34.5, 7].
「0.12ABC3.45DE0.02FGH」
→[0.12, 3.45, 0.02].
「12あいうえお34.5かき7.0くけこ」
→[12, 34.5, 7].
「0.12ABC3.45DE0.02FGH」
→[0.12, 3.45, 0.02].
742デフォルトの名無しさん
2021/05/16(日) 12:30:25.44ID:KcTdWT19 >>741
document.querySelectorAll('span.name').forEach(e => {
if(e.innerText.indexOf('蟻人間') >= 0){
e.parentElement.parentElement.style.display = 'none';
}
})
document.querySelectorAll('span.name').forEach(e => {
if(e.innerText.indexOf('蟻人間') >= 0){
e.parentElement.parentElement.style.display = 'none';
}
})
743デフォルトの名無しさん
2021/05/16(日) 13:03:07.41ID:rG9ernac744デフォルトの名無しさん
2021/05/16(日) 13:38:29.85ID:rG9ernac >>743
この string-split-if には不満が残る
(string-split-if #'alpha-char-p "123abc456")
実際の結果: ("123" "" "" "456")
期待した結果: ("123" "456")
この string-split-if には不満が残る
(string-split-if #'alpha-char-p "123abc456")
実際の結果: ("123" "" "" "456")
期待した結果: ("123" "456")
746デフォルトの名無しさん
2021/05/16(日) 16:25:18.39ID:bjgpsQdf747デフォルトの名無しさん
2021/05/16(日) 16:28:58.27ID:bjgpsQdf >>741
Perl5
もうほとんど何も考えてない。文字列切り出してるだけ。
以下は Linux で bash のコマンドラインで実行したところ。
$ echo '0.12ABC3.45DE0.02FGH' | perl -ne 'while(/(\d+(\.\d+)?)/g){print "$1\n"}'
0.12
3.45
0.02
$
Perl5
もうほとんど何も考えてない。文字列切り出してるだけ。
以下は Linux で bash のコマンドラインで実行したところ。
$ echo '0.12ABC3.45DE0.02FGH' | perl -ne 'while(/(\d+(\.\d+)?)/g){print "$1\n"}'
0.12
3.45
0.02
$
748蟻人間 ◆T6xkBnTXz7B0
2021/05/16(日) 18:23:07.91ID:EAK6Onef お題: テキストデータに含まれている数値データを全部2倍にしたテキストを返すプログラム。
「7ABC123DE0.5FG82」
→「14ABC246DE1FG164」.
「あいう75.04えおか54きく-25」
→「あいう150.08えおか108きく-50」.
「7ABC123DE0.5FG82」
→「14ABC246DE1FG164」.
「あいう75.04えおか54きく-25」
→「あいう150.08えおか108きく-50」.
749デフォルトの名無しさん
2021/05/16(日) 18:35:21.17ID:bjgpsQdf >>748
Perl5
Perlだとこういうのはほとんど何も考えずに作れて楽だね。
$ ( echo '7ABC123DE0.5FG82' ; echo 'あいう75.04えおか54きく-25' ) | perl -pe 's/(\d+(\.\d+)?)/$1*2/ge;'
14ABC246DE1FG164
あいう150.08えおか108きく-50
$
Perl5
Perlだとこういうのはほとんど何も考えずに作れて楽だね。
$ ( echo '7ABC123DE0.5FG82' ; echo 'あいう75.04えおか54きく-25' ) | perl -pe 's/(\d+(\.\d+)?)/$1*2/ge;'
14ABC246DE1FG164
あいう150.08えおか108きく-50
$
750デフォルトの名無しさん
2021/05/16(日) 19:37:22.32ID:bjgpsQdf >>748
Kotlin script
小数点以下の桁数を元の文字列に合わせるために java.text.DecimalFormat クラスを使用しているが、長くなってしまったなあ。
以下はコマンドラインから kotlinc で動かした Kotlin の REPL での入力と出力(>>> がプロンプト)。
>>> val ls = listOf("7ABC123DE0.5FG82", "あいう75.04えおか54きく-25")
>>> ls.forEach { println(it.replace(Regex("""\d+(\.\d+)?""")) { java.text.DecimalFormat(it.value.replace(Regex("\\d"), "#")).format(it.value.toDouble() * 2.0) }) }
14ABC246DE1FG164
あいう150.08えおか108きく-50
>>>
Kotlin script
小数点以下の桁数を元の文字列に合わせるために java.text.DecimalFormat クラスを使用しているが、長くなってしまったなあ。
以下はコマンドラインから kotlinc で動かした Kotlin の REPL での入力と出力(>>> がプロンプト)。
>>> val ls = listOf("7ABC123DE0.5FG82", "あいう75.04えおか54きく-25")
>>> ls.forEach { println(it.replace(Regex("""\d+(\.\d+)?""")) { java.text.DecimalFormat(it.value.replace(Regex("\\d"), "#")).format(it.value.toDouble() * 2.0) }) }
14ABC246DE1FG164
あいう150.08えおか108きく-50
>>>
751蟻人間 ◆T6xkBnTXz7B0
2021/05/16(日) 20:57:57.47ID:kWXR6C+3 お題:メールアドレスの難読化。
"info@example.com" ---> "info at example dot com".
"katayama.hirofumi.mz@example.com" ---> "katayama dot hirofumi dot mz at example dot com".
"info@example.com" ---> "info at example dot com".
"katayama.hirofumi.mz@example.com" ---> "katayama dot hirofumi dot mz at example dot com".
752デフォルトの名無しさん
2021/05/17(月) 02:01:43.00ID:GcVF7Ydc お題:オートマドリング
以下の各問の要求された面積の所要室及び廊下を配置した、最も全体面積の小さい間取り図を出力せよ。
また、各間取り図は次の条件を満たすものとする。
・各室は廊下に面し、建物全体の形は長方形とする。
・間取り図は一文字を一坪とし、室はアルファベット、廊下は+で表示。
・廊下の面積は自由に決めて良い。
・最小面積の間取り図が複数の場合は、そのうち一つを表示すれば良い。
・全体面積(坪)を間取り図の下に表示。
【例】
所要室と要求面積(坪)
A:4, B:6, C:8, D:4
【出力例】
AAAA+DDD
BBBB+CCD
BBCCCCCC
(24)
【問1】
A:3, B:5, C:4
【問2】
A:8, B:4, C:6
【問3】
A:5, B:2, C:3, D:6, E,2
以下の各問の要求された面積の所要室及び廊下を配置した、最も全体面積の小さい間取り図を出力せよ。
また、各間取り図は次の条件を満たすものとする。
・各室は廊下に面し、建物全体の形は長方形とする。
・間取り図は一文字を一坪とし、室はアルファベット、廊下は+で表示。
・廊下の面積は自由に決めて良い。
・最小面積の間取り図が複数の場合は、そのうち一つを表示すれば良い。
・全体面積(坪)を間取り図の下に表示。
【例】
所要室と要求面積(坪)
A:4, B:6, C:8, D:4
【出力例】
AAAA+DDD
BBBB+CCD
BBCCCCCC
(24)
【問1】
A:3, B:5, C:4
【問2】
A:8, B:4, C:6
【問3】
A:5, B:2, C:3, D:6, E,2
753デフォルトの名無しさん
2021/05/17(月) 03:50:50.63ID:LfCDcICC めちゃくちゃ住みにくそうな家だ
754デフォルトの名無しさん
2021/05/17(月) 06:56:11.27ID:9WebrBNt >>752
廊下は外周に接する必要があるかどうかとか、廊下は一続きか二つ以上あっても良いかとか、その辺は自由?
廊下は外周に接する必要があるかどうかとか、廊下は一続きか二つ以上あっても良いかとか、その辺は自由?
755デフォルトの名無しさん
2021/05/17(月) 09:38:24.31ID:9/Dbs2kw 間取りが出来てればいいんで問題ないのだろう
人間が住むとも書かれてないし地球上のものだという保証もない
規定数の記号が並んでいればいいんじゃないか?
ようするに員数を満たしてりゃいいんだよ
人間が住むとも書かれてないし地球上のものだという保証もない
規定数の記号が並んでいればいいんじゃないか?
ようするに員数を満たしてりゃいいんだよ
756デフォルトの名無しさん
2021/05/17(月) 12:26:47.92ID:GcVF7Ydc 補足条件です
・廊下の一端は外周に接する事
・室はそれぞれ連続している事
ダメな例
AADDDDCC
BBAA++CC
BBBBCCCC
・廊下が外周に接していない
・室Aが連続していない
・廊下の一端は外周に接する事
・室はそれぞれ連続している事
ダメな例
AADDDDCC
BBAA++CC
BBBBCCCC
・廊下が外周に接していない
・室Aが連続していない
757デフォルトの名無しさん
2021/05/17(月) 12:28:14.13ID:GcVF7Ydc 廊下はいくつ有っても良いです
758デフォルトの名無しさん
2021/05/17(月) 12:39:02.89ID:GcVF7Ydc 廊下の数と面積が自由なら簡単になってしまったかw
修正 廊下は一続きに制限します
修正 廊下は一続きに制限します
759デフォルトの名無しさん
2021/05/17(月) 12:49:02.42ID:GcVF7Ydc >>756
このダメ例では、室Bが廊下に面してないので、それもダメ
このダメ例では、室Bが廊下に面してないので、それもダメ
760デフォルトの名無しさん
2021/05/17(月) 13:15:02.22ID:iILyYqea B B + E E
C C + A A
C D D A A
D D D D A
手で作る方がプログラム書くより簡単そうだ
問3とかこれでいいんでしょ
C C + A A
C D D A A
D D D D A
手で作る方がプログラム書くより簡単そうだ
問3とかこれでいいんでしょ
761デフォルトの名無しさん
2021/05/17(月) 13:37:58.59ID:GcVF7Ydc762デフォルトの名無しさん
2021/05/17(月) 13:38:47.16ID:9/Dbs2kw 宇宙ホテルだと部屋種類が10000くらいあるんだろ
そして部屋数合計は100億だ
廊下の長さは1光年くらいあってもいい
なんで人間の地球人の尺度で考えるのか
これが分からない
そして部屋数合計は100億だ
廊下の長さは1光年くらいあってもいい
なんで人間の地球人の尺度で考えるのか
これが分からない
763デフォルトの名無しさん
2021/05/17(月) 13:46:24.75ID:GcVF7Ydc >>762
制約が無いとお題にならんでしょ
制約が無いとお題にならんでしょ
764デフォルトの名無しさん
2021/05/17(月) 14:15:20.81ID:9/Dbs2kw 所要室数の上限と要求面積の上限が制約なんじゃあないの
でもその制約がどこにも書かれているようには見えない
無いものを見ろと言われましても
でもその制約がどこにも書かれているようには見えない
無いものを見ろと言われましても
765デフォルトの名無しさん
2021/05/17(月) 14:22:18.03ID:9/Dbs2kw どうやって最小面積を保証するんだろうか
766デフォルトの名無しさん
2021/05/17(月) 14:26:41.86ID:GcVF7Ydc >>764
各問の室名(アルファベット)が所要室
数字がその室の面積
それら所要室を全て配置して、かつ全体が最小面積となるのが答え
例えば問3の解答例だと
BB+DDDD
EE++DDA
CCCAAAA
これは面積が21となり最小では無いのでダメ
各問の室名(アルファベット)が所要室
数字がその室の面積
それら所要室を全て配置して、かつ全体が最小面積となるのが答え
例えば問3の解答例だと
BB+DDDD
EE++DDA
CCCAAAA
これは面積が21となり最小では無いのでダメ
767デフォルトの名無しさん
2021/05/17(月) 14:30:19.46ID:9/Dbs2kw768デフォルトの名無しさん
2021/05/17(月) 14:30:34.32ID:GcVF7Ydc769デフォルトの名無しさん
2021/05/17(月) 14:32:43.00ID:LfCDcICC 面積わかって長方形という指定があるんだから最小面積はわか
770デフォルトの名無しさん
2021/05/17(月) 14:33:17.80ID:GcVF7Ydc >>767
制限を撤廃して拡張しようと思えばいくらでも出来るよ
制限を撤廃して拡張しようと思えばいくらでも出来るよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 🇺🇸🇨🇳米中関係は「極めて強固」とトランプ氏… ★4 [BFU★]
- 【野球】大谷翔平、WBC出場を正式表明! 「日本を代表して再びプレー嬉しく思う」 侍ジャパンで世界一連覇狙う★2 [冬月記者★]
- 日米首脳、電話で緊密な連携確認 台湾答弁協議の有無明言せず… [BFU★]
- 🇺🇸🇨🇳米中関係は「極めて強固」とトランプ氏… ★5 [BFU★]
- 「ホストに貢ぎたい」と海外で売春する日本人女性 2カ月で2千万円稼ぐケースも [1ゲットロボ★]
- 【速報】外務次官が中国大使と面会 [蚤の市★]
- 高市早苗、トランプに電話会談でガチギレされた模様wwwwwwwwwwwww会見で半泣きだったという情報も [271912485]
- 【♩悲報】NHK立花たかし、実刑へ。数年間ブタ箱。自殺した兵庫県議へ中傷で [732289945]
- 【高市悲報】政府「無駄だと思う公金チューチューをSNSを使って国民から意見を募ります」🥸 [359965264]
- 【悲報】明石家サンタ、スポンサーが集まらず放送見送り [883032851]
- 【悲報】拉致被害者を救う会「国民世論は高市早苗を後押ししろ」 [616817505]
- 高市、国連の全ての加盟国に「私悪くないもん」という趣旨の迷惑メールを送付 [931948549]
