[過去ログ] プログラミングのお題スレ Part15 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
832(14): 2019/10/23(水)20:25 ID:LcbXQT4h(1) AAS
お題:整数配列の奇数要素のみをソートした配列を返す処理を書いてください
入力例:[6, 5, 4, 3, 2, 1]
出力例:[6, 1, 4, 3, 2, 5]
833(1): 2019/10/23(水)20:53 ID:oBmkNBH8(1/3) AAS
>>832 octave
外部リンク:ideone.com
836: 833 2019/10/23(水)21:05 ID:oBmkNBH8(3/3) AAS
>>832 octave
外部リンク:ideone.com
837: 2019/10/23(水)22:37 ID:PSSarBFK(1) AAS
>>832 Perl5
@s = (6, 5, 4, 3, 2, 1);
@ix = grep{$s[$_] & 1} keys @s;
@iy = sort{$s[$a] <=> $s[$b]} @ix;
@s[@ix] = @s[@iy];
use Data::Dump 'dump';
print dump @s;
実行結果
~ $ perl 15_832_sort_odd_elem.pl
(6, 1, 4, 3, 2, 5)
838(1): 2019/10/24(木)08:28 ID:5RTZY+Zo(1) AAS
>>832 J
f =: 3 : 0
a =. I. 2 | y
b =. /:~ a { y
b (a) } y
)
f 6 5 4 3 2 1
6 1 4 3 2 5
839(2): 2019/10/24(木)09:51 ID:76TAYxNw(1/2) AAS
>>832
p [6, 5, 4, 3, 2, 1].partition.with_index{|_, i| i.even?}.then{|e, o| e.zip(o.sort).flatten}
# => [6, 1, 4, 3, 2, 5]
842(1): 2019/10/24(木)15:41 ID:gElHX+jG(1) AAS
>>832
Kotlin
外部リンク:paiza.io
やり方は >>834 に書かれている通り。
しかし、もっとスマートな方法はないものか?
ありそうだが思い浮かばない。
844: 2019/10/24(木)21:24 ID:YtgvOVKx(1) AAS
>>832 ruby
外部リンク:ideone.com
>>832 ocaml
外部リンク:ideone.com
853: 2019/10/25(金)11:49 ID:C/odSq3f(2/2) AAS
>>832
Ruby で、
input_ary = [ 6, 5, 4, 3, 2, 1 ]
odd_ary = [ ]; index_ary = [ ]
input_ary.each_with_index do |num, idx|
if num.odd?
odd_ary.push num
index_ary.push idx
end
end
省4
855: 2019/10/25(金)14:59 ID:ylwTeYJx(1) AAS
>>832
外部リンク:ideone.com
C++。クイックソート書けないので謎のソートでお茶を濁す。
858(12): 2019/10/26(土)07:11 ID:I0XoRu/q(1/2) AAS
お題:>>832 に「偶数要素は2で割って降順ソート」という要件を追加してください
すでに回答済みの場合は最少限の変更でのご対応で腕(もしくは言語のポテンシャル)を見せてください
860(1): 2019/10/26(土)11:01 ID:/Rj6VhaF(1/2) AAS
>>832 Pharo/Squeak Smalltalk
| fn |
fn := [:arr |
| sortedOdds |
sortedOdds := (arr select: #odd) sort readStream.
arr collect: [:x | x odd ifTrue: [sortedOdds next] ifFalse: [x]]
].
fn value: #(6 5 4 3 2 1) "=> #(6 1 4 3 2 5) "
>>835
| fn |
省7
863: 2019/10/26(土)12:12 ID:Zgyrlv2c(1) AAS
>>832,858
@Mathematica
外部リンク:ideone.com
866: 2019/10/26(土)17:08 ID:kYj2w42l(1) AAS
>>832 >>858 Ruby
f = -> ary {
e, o = ary.partition(&:even?).map(&:sort)
ary.map{|v| v.even? ? v : o.shift}
}
g = -> ary {
e, o = ary.partition(&:even?).map(&:sort)
ary.map{|v| v.even? ? e.pop >> 1 : o.shift}
}
p f[[6, 5, 4, 3, 2, 1]] # => [6, 1, 4, 3, 2, 5]
省1
883: 2019/10/28(月)21:54 ID:UPe4TNxT(1) AAS
AA省
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.034s