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

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
11
(1): デフォルトの名無しさん [sage] 2023/08/07(月) 09:39:33.60 ID:3KYy8N/l(1) AAS
>>8
8(3): デフォルトの名無しさん [] 2023/08/07(月) 01:25:47.55 ID:dolrRGoi(1/2) AAS
>>6
それなんて言語?
Rustでは?
64
(3): デフォルトの名無しさん [sage] 2023/08/24(木) 05:04:40.60 ID:UkV1PQmo(1) AAS
お題:2Dゲームのスクロール処理
整数の二次元配列(高さ50, 横幅100)上にランダムに整数1〜9が200個配置される。
この配列を高さ20, 横幅40の矩形領域に切り取って表示したい。キーボードの入力(l, r, t, b)で矩形領域を移動させ切り取る領域を変化させよ。
211
(1): デフォルトの名無しさん [sage] 2024/02/02(金) 23:24:19.60 ID:UezRkqGy(3/4) AAS
>>206
206(23): デフォルトの名無しさん [] 2024/02/02(金) 06:41:15.23 ID:CC6U77IS(1) AAS
お題
入力データをグループ分けして出力せよ

入力データの、= の左右は同じグループである。
出力する順番は、入力データの出現順とする

UnionFind を使えば良いかも

入力データ
["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"]

出力
[["a1", "a2", "b1", "b2", "b3", "a3", "a4", "a5", "b4"],
["c1", "c2", "c3", "c4", "d1", "d2", "d3"],
["e1", "e2", "e3"]]

Ruby で、UnionFind を自作してみた。
下はユニットテストです

外部リンク:paiza.io
外部リンク:paiza.io
ruby
外部リンク:ideone.com
・若干の修正
f = -> a {
w = a.map {|s| s.split('=')}.flatten.uniq.map.with_index.to_h
a.each_with_object([]) {|s, acc|
x, xa, y, ya = s.split('=').map {|k| [k, acc.find {|b| b.include? k}]}.flatten(1)
if xa && ya then xa.concat (acc.delete ya)
elsif xa then xa << y
elsif ya then ya << x
else acc << [x, y]
end
}.map {|a| a.sort_by {|s| w[s]}}.sort_by {|a| w[a[0]]}
}
395: デフォルトの名無しさん [sage] 2024/08/03(土) 22:52:49.60 ID:/AInVOhB(2/2) AAS
この頭の悪さを見るに学校の課題か何かを丸投げしようとしてるのかな
422
(1): デフォルトの名無しさん [sage] 2024/09/03(火) 13:38:16.60 ID:Jxau6mSM(3/3) AAS
ちょっと試すだけならウェブサービスを使う手も

Common Lispを動かせるオンラインコンパイラーサイト
外部リンク:rextester.com
外部リンク:www.jdoodle.com
外部リンク:wandbox.org

これらはideoneとは異なり "Share" とか "Save" とかをクリックしない限り保存・公開されない(はず)
614
(1): デフォルトの名無しさん [sage] 2025/02/15(土) 09:21:24.60 ID:XILc/8JX(1) AAS
>>608
608(10): デフォルトの名無しさん [sage] 2025/02/14(金) 23:42:29.57 ID:PVqLPxMJ(1) AAS
お題:ランダムな英文字列が与えられる。隣り合う英文字が同じ大文字だった場合、その間にその大文字の小文字を挿入せよ

In < abcDDefGG
Out > abcDdDefGgG
ruby
外部リンク:ideone.com

>>608 dart
外部リンク:ideone.com
640
(10): デフォルトの名無しさん [sage] 2025/02/17(月) 13:08:08.60 ID:lz3iaMcC(1) AAS
お題:ランダムな数列が与えられる。隣り合う数字が偶数同士の時、あいだに0を。奇数同士の時は1を挿入し、それ以外は何も挿入しない

In < 123346
Out > 12313406
798: デフォルトの名無しさん [] 2025/08/12(火) 21:05:40.60 ID:uRUBTkGF(2/2) AAS
-- 実行結果 --
入力: [1, 100, 10, 10000, 1000]
出力: [0, 2, 1, 4, 3]

入力: [3, 1, 4, 1, 5, 9, 2]
出力: [3, 0, 4, 1, 5, 6, 2]

入力: [0, 1, 0, 1, 0, 1, 0, 1]
出力: [0, 4, 1, 5, 2, 6, 3, 7]

入力:
出力:

入力: 1
出力: 0

入力: [[1, 1], [1, 1], [1, 0, 1], [1, 0]]
出力: [2, 3, 1, 0]
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.315s