[過去ログ]
プログラミングのお題スレ Part21 (1002レス)
プログラミングのお題スレ Part21 http://mevius.5ch.net/test/read.cgi/tech/1668333636/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
401: デフォルトの名無しさん [] 2023/01/31(火) 06:31:47.98 ID:ozTESx1d お題 顧客番号・商品番号・小計のCSV を、 商品番号が連番の場合には、その分だけ行数を増やし、 小計を等分割しろ(1円未満は切り捨て) 入力 1,1,100 2,1-3,200 3,1,500 3,2-3,400 出力 1,1,100 2,1,66 2,2,66 2,3,66 3,1,500 3,2,200 3,3,200 空白行に意味はない。見やすくしただけ http://mevius.5ch.net/test/read.cgi/tech/1668333636/401
402: デフォルトの名無しさん [sage] 2023/02/01(水) 03:34:10.44 ID:7Z3xMS0R >>401 Haskell https://ideone.com/ESZHys ただし入力はすべての行が 整数,整数,整数 または 整数,整数-整数,整数 のみの形と仮定、エラー処理やそれ以外の形式でが混じっている(空行など)が混じることは想定せず http://mevius.5ch.net/test/read.cgi/tech/1668333636/402
403: デフォルトの名無しさん [] 2023/02/01(水) 22:55:53.80 ID:8+TAxA89 >>401 PowerShell (入力データはa.txtに保存されているものとし、形式は>>402と同じ) cat a.txt |% { $d = $_ -split "," $r = @(iex ($d[1] -replace "-", "..")) $r |% {$d[0], $_, [Math]::Floor($d[2] / $r.count) -join ","} } http://mevius.5ch.net/test/read.cgi/tech/1668333636/403
404: デフォルトの名無しさん [] 2023/02/02(木) 02:55:58.24 ID:lvlxzCHr >>401 Perl https://paiza.io/projects/DkuQJOy6SCwnZ9NENkIKpA 空白行は入力しないで読み飛ばすだけにした。出力もしない。 http://mevius.5ch.net/test/read.cgi/tech/1668333636/404
410: デフォルトの名無しさん [] 2023/02/18(土) 20:06:32.64 ID:7FIuY7Pp >>401 C# public static void Main(String[] args) { var xs = ReadLines() .Select(x => { var a = x.Split(","); return new { UserId = a[0], ItemIdRange = a[1], Amount = int.Parse(a[2]) }; }) .SelectMany(x => { var range = x.ItemIdRange.Split("-") .Select(y => int.Parse(y)) .ToArray(); var from = range[0]; var to = range.Length == 1 ? from : range[1]; var count = to - from + 1; var amount = x.Amount / count; return Enumerable.Range(from, count) .Select(id => new { UserId = x.UserId, ItemId = id, Amount = amount }); }); foreach (var x in xs) { Console.WriteLine(x); } } static IEnumerable<string> ReadLines() { while (true) { var line = Console.ReadLine(); if (line == null) { yield break; } yield return line; } } http://mevius.5ch.net/test/read.cgi/tech/1668333636/410
454: 401 [sage] 2023/02/23(木) 18:33:45.89 ID:n1e6/0k5 >>401 Elixir で作った { :ok, input_data } = File.read( "input_data.csv" ) # IO.inspect input_data # 末尾の改行を削除してから、1行ずつ処理する。カンマで区切る input_data |> String.trim |> String.split( "\n" ) |> Enum.map( fn( line ) -> String.split( line, "," ) end ) |> Enum.each( fn [ custom_num, seq_num, money ] -> { from, to } = case String.split( seq_num, "-" ) do # - を含まない時は、2つに分割できない [ first ] -> num = String.to_integer( first ) { num, num } # - を含む時は、2つに分割できる [ first, last ] -> { String.to_integer( first ), String.to_integer( last ) } end for n <- from..to, do: IO.puts "#{ custom_num },#{ n },#{ div( String.to_integer( money ), to - from + 1 ) }" end ) # |> IO.inspect http://mevius.5ch.net/test/read.cgi/tech/1668333636/454
455: デフォルトの名無しさん [] 2023/02/24(金) 02:31:53.29 ID:qWDde+97 >>401 Kotlin https://paiza.io/projects/1pkfbUwcB0nubXQhER9i_w http://mevius.5ch.net/test/read.cgi/tech/1668333636/455
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.039s