プログラミングのお題スレ Part14

■ このスレッドは過去ログ倉庫に格納されています
2019/05/18(土) 17:33:29.45ID:BWmpW4IF
プログラミングのお題スレです。

【出題と回答例】
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/

宿題は宿題スレがあるのでそちらへ。

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1549160513/
2019/05/19(日) 01:17:58.03ID:nN2qvMwg
>>1

>>前スレ920
C
https://ideone.com/bz7Y5P
2019/05/19(日) 08:48:39.78ID:b1S+2jBu
お題
1. URLエンコード
次の文字列をURLエンコード(パーセントエンコーディング)せよ。
但しURLエンコード専用ライブラリだけは使わない事。
‘日 本’
( 全角2文字の間に半角スペースが一つ入ってる.)

元の文字コードはUTF8とする。 この場合は7バイト。
パーセントエンコードとは、バイトの並びについて各バイトを「%XX」(XXは十六進法)という文字列への変換である。 バイト列への変換はライブラリを使っても良い。

正解(アルファベットは小文字も可)
%E6%97%A5%20%E6%9C%AC

2. URLデコード
1でURLエンコードされたものをURLデコードせよ。
URLデコード用ライブラリがあれば使う事。
正解 日 本
2019/05/19(日) 08:56:45.08ID:b1S+2jBu
>>5 python

from urllib.parse import unquote #,quote
url = '日 本'

urle = ''.join([ '%{:x}'.format(b) for b in url.encode('UTF-8') ])

print(urle) # encode same #print(quote(url))
print(unquote(urle)) # decode

''' # 出力
%e6%97%a5%20%e6%9c%ac
日 本
'''
2019/05/19(日) 09:25:01.68ID:c0f8nIXT
何も考えないバカはすぐに飛びつくなぁ
これお題に見せかけた課題か宿題だろw
2019/05/19(日) 10:51:39.18ID:m8K8ZuW2
>>7
出題者本人が回答しているだけだろ。
何も考えない以下略
9デフォルトの名無しさん
垢版 |
2019/05/19(日) 11:02:33.76ID:zmnHcBRa
各桁を足し合わせたら引数で与えられた数になるものを5個返す関数を作れ。

例:
sumnum 12
> [39,48,57,66,75] <- 3 + 9 = 12, 4 + 8 = 12, 5 + 7 = 12, 6 + 6 = 12, 7 + 5 = 12
2019/05/19(日) 11:57:55.37ID:8BTe2vpb
>>5
https://mevius.5ch.net/test/read.cgi/tech/1434079972/56
2019/05/19(日) 12:12:27.92ID:tgogs/mB
お題
(0,0)(0,999)(999,0)(999,999)のx,y 座標系の中の問題

次の20個の数値を先頭から2個ずつ取ってのx,y の位置に 10個のポイントがあるとする。

[136, 577, 110, 927, 472, 199, 157, 808, 388, 598, 94, 31, 388, 157, 325, 409, 787, 897, 850, 598]

(136,577) (110,927) 〜(850,598) 10ポイント

問題1 外側の正方形
全てのポイントが正方形の内側にあり、正方形の面積が一番小さくなる正方形の4点の座標を示せ。 但し正方形の座標は(999,999)の範囲内とする。
正方形は斜めもあり得る。 正方形の辺は必ず2点以上ポイントに重なっている。

問題2 内側の正方形
全てのポイントが正方形の外側にあり、正方形の面積が一番大きくなる4点の座標を示せ。
正方形は斜めもあり得る。 正方形の辺は必ず2点以上ポイントに重なっている。

問題を難しく感じる人は、斜めの正方形は考えないとしても良い。その旨回答に書いておいてください。
2019/05/19(日) 12:20:45.20ID:8BTe2vpb
お題と回答
>>5 : >>6 >>10
>>9 :
2019/05/19(日) 12:21:01.79ID:sA5/dcdL
宿題スレ行けって
2019/05/19(日) 12:29:21.94ID:tgogs/mB
>>12 おいおい、金儲けにするんかい。 ま、金を払う人がいるなら良いが。 学生の宿題に需要があるかな?
しかしこんなところで宣伝すんな。
2019/05/19(日) 12:30:23.34ID:GWUTnTrp
>>9 https://ideone.com/4nfTNV
2019/05/19(日) 13:00:59.70ID:tgogs/mB
>>15 93 だけは正しいけど他は違うだろと思ったが、0を足しても結果は変わらないから詐欺に近いな。
しかしこう言う指摘は、プログラムには重要。

こう言う考え方をするなら、129 12342 なども該当するな。
あまりにも組み合わせが多すぎるから、条件をつけないとな。

問題の条件として各桁に0は含まないとしたり数字は2桁以内とするとか、答えは一番大きな数字を上から順に5つ示せとか。
2019/05/19(日) 13:16:39.44ID:tgogs/mB
出題するときには、答えが一意になる様にした方が良い。
回答する方も戸惑うし、正解が何かも判りづらくなる。

出来るだけ正解は少ない方が良い。 理想的には一つ。
2019/05/19(日) 14:18:25.76ID:8BTe2vpb
>>14
>>12 のどこに宣伝の文言が記載されているのですか?
19デフォルトの名無しさん
垢版 |
2019/05/19(日) 14:19:46.32ID:xtBtC84Z
0 -> 1
1 -> 11
2 -> 101
3 -> 1111
4 -> 10001
5 -> 110011
6 -> 1010101
7 -> 11111111
8 -> 100000001
9 -> 1100000011
10 -> 10100000101
11 -> 111100001111
12 -> 1000100010001
13 -> 11001100110011
14 -> 101010101010101
15 -> 1111111111111111
この0から15までを隙間なく並べる
隙間なく並べるとは例えばこの0から2までなら
0 -> 1
1 -> 11
2 -> 101

---1
11
--101

11111
このように1同士がぶつからずにそして0がなくなるように並べる
この場合の解答は0番を3つ右にずらして2番を右に二つずらしているので
(0,3)(1,0)(2,2)となる
2019/05/19(日) 14:36:55.39ID:GWUTnTrp
詐欺は酷くないか
要件は満たしてるし、何より解が存在する全ての値に対して正しい解を出力するだろ
sumnum 1についても対応しようとしたらこれが綺麗な解法の1つであることは疑いようもない事実のはず
2019/05/19(日) 14:45:53.44ID:GWUTnTrp
>>20 と思ったが俺が間違ってた
相違なる数と言われてないから、sumnum 0に対しても[0,0,0,0,0]が解を満たすわな、すまんかった
2019/05/19(日) 14:47:51.69ID:8BTe2vpb
お題と回答
>>5 : >>6 >>10
>>9 : >>15
>>11:
>>19:
2019/05/19(日) 14:55:35.26ID:Ep+P2jjw
>>18 リンク先に書いてあるじゃん、金払えと。
>>19 さっぱりわからん。 何のための説明をしてるの? どんな問題に関係してるの?
2019/05/19(日) 15:06:26.05ID:dHqS2yoD
お題
ペアノの公理、及びペアノに依る加法の定義に従って 128 + 256 を計算せよ。
2019/05/19(日) 15:08:58.77ID:8BTe2vpb
>>23
>リンク先に書いてあるじゃん、金払えと

根拠のないデマを流さないでください
>>12 に記載のアンカーの一つ >>10
>>10 に記載のアンカー(リンクの一つ) https://mevius.5ch.net/test/read.cgi/tech/1434079972/56
https://mevius.5ch.net/test/read.cgi/tech/1434079972/56 に記載のリンクは https://ideone.com/Nxx41h でこれは ideone へのリンク
リンクをたどれるところのどこにも宣伝は記載していません

>>10 に記載のアンカーの一部 https://mevius.5ch.net/test/read.cgi/tech/1434079972/
のうち https://mevius.5ch.net/test/read.cgi/tech/1434079972/1 には、ビットコインの請求が発生する手順が定義されており
その定義を満たさないものについては、特に「※本フローに従わない回答掲示についてはビットコインの請求は発生しないものとします。」と注記していますね

したがって、そもそも「金払え」とは書いてませんし、あるいは「ビットコインを払え」とすら書いていませんね
2019/05/19(日) 15:58:31.52ID:+SzmmtV9
>>25 だったら何で金を要求するサイトへのリンクを貼るんだよ。 ビットコインを稼ぎたいための宣伝だろ?

下心がないのなら直接 ideon のリンクを貼れば良いじゃないか。 面倒臭いし。
2019/05/19(日) 16:07:32.50ID:8BTe2vpb
>>26
自分の書いたコードを一箇所に固めているだけですよ
これわりと便利で、3年前のコードなんかすっかり忘れてしまっているのを呼び出せるのです、ああ、あのとき N クイーンやったよね、とか
自分のローカルは一つのディレクトリに放り込んでいるだけだから grep でも検索困難…
2019/05/19(日) 16:17:53.58ID:+SzmmtV9
練習問題のコードなんて使い捨てでいいじゃない。 俺も最初の頃は記録してたけど、もうやめた。
要は必要なときに必要なコードが書けなければそれまでなんだから、最初から勉強し直しても同じ。
昔のコードを見ても自分が理解していないんだから同じ。

沢山練習した方が良い。 基本から見直す事でより理解が深くなる。
2019/05/19(日) 16:51:21.34ID:8BTe2vpb
>>28
ええ、まったくの使い捨てでここ十年くらいやってますが、特定のスレに ideone/codepad のリンクを貼っていたのが、十年たってみると、当初は意図していなかった効用をもたらしてくれているんですね
2019/05/19(日) 18:13:20.80ID:CS5X1kUk
>>23
自己愛性パーソナリティ障害の朝鮮人は相手にすんなよ
2019/05/19(日) 18:40:48.30ID:ibH/HNzv
ネトウヨの相手もすんなよ
2019/05/19(日) 19:37:16.01ID:lXFYvnLZ
>>5 Squeak Smalltalk

'日 本' encodeForHTTP "=> '%E6%97%A5%20%E6%9C%AC' "

'%E6%97%A5%20%E6%9C%AC' unescapePercents "=> '日 本' "
2019/05/19(日) 20:09:21.36ID:b1S+2jBu
>>32 但しURLエンコード専用ライブラリだけは使わない事。
34デフォルトの名無しさん
垢版 |
2019/05/19(日) 20:17:22.66ID:w9oOtt0P
>>9
Python3
https://ideone.com/v9wx2v
35デフォルトの名無しさん
垢版 |
2019/05/19(日) 20:20:05.14ID:w9oOtt0P
>>9
Haskell

import Data.Char

main = (print.sumnum) 12

sumnum 0 = [0]
sumnum n |n < 0 = error "Please n >= 0 number"
sumnum n = take 5 [x | x <- [0..], n == sum [read [a]| a <- show x]]
36デフォルトの名無しさん
垢版 |
2019/05/19(日) 20:25:29.07ID:iZGlVtrY
>>5
Java
https://paiza.io/projects/lPsVtvM3yO0cQEnRxg7fpQ
2019/05/19(日) 20:30:36.06ID:8BTe2vpb
>>36
いいことを教えてもらいました、Java って uft-16 だけかとおもっていました…
2019/05/19(日) 21:30:05.06ID:GwAz9H1L
>>33
組み込みメソッドの使用禁止とかばかげてる
2019/05/19(日) 21:53:11.12ID:8BTe2vpb
https://mevius.5ch.net/test/read.cgi/tech/1549160513/779
https://mevius.5ch.net/test/read.cgi/tech/1434079972/57
2019/05/19(日) 22:17:12.44ID:6fg2Xy1G
出禁 ID:8BTe2vpb
2019/05/19(日) 22:26:04.27ID:iE9NckHD
正直言ってここに出てくるお題よりAtCoderのお題の方がレベル高いよね
2019/05/19(日) 22:53:21.34ID:nN2qvMwg
11がマジで難しいんだけど、だれか取り組んでる?
2019/05/20(月) 00:00:59.23ID:V0YkyU13
>>41
小ネタの合間にめんどくさいものがポツポツあるかと >>11 とか
44デフォルトの名無しさん
垢版 |
2019/05/20(月) 02:35:31.92ID:8xDKheXg
>>5
Kotlin
https://paiza.io/projects/DCRebTKGifCuLe5ysI1JIA
2019/05/20(月) 06:02:09.58ID:poyp5Kqc
漏れなんて、書き捨てのRuby のファイルが、100もある

いつも、Windows10 で、WSL, Ubuntu16.04 から、grep してる
2019/05/20(月) 06:44:50.41ID:Wdi8QIqr
お、ツッコミ待ちか?
47デフォルトの名無しさん
垢版 |
2019/05/20(月) 07:53:09.19ID:oPixGX3C
お題
Excelのカラム名でHELLOからWORLDまで表示する
2019/05/20(月) 09:16:55.34ID:m4uUuPD/
>>11 問題1の斜めにしない直行正方形までは出た。

xの範囲= (94, 31) (850, 598) 差 756
yの範囲= (94, 31) (110, 927) 差 896
1辺= 896

直行正方形 (94, 31) (990, 31) (94, 927) (990, 927)
次はこれを傾けていくんだな。これがムズイ。
2019/05/20(月) 13:11:43.52ID:YvmdLvGf
>>11 x,y座標は 0〜999までの整数 辺の長さは斜めになった時は整数とは限らない。
2019/05/20(月) 15:10:01.16ID:poyp5Kqc
プログラミングのお題スレ Part13
https://mevius.5ch.net/test/read.cgi/tech/1549160513/920-984

前スレのランク付けの問題は、O(n^2)とかなら簡単なんだが、
ハッシュなどを使って、計算回数を少なくするのに、苦戦してる

入力データ
-6 3 9 5 3 -7
出力・ランク
2 3 5 4 3 1
2019/05/20(月) 18:09:47.07ID:paVMwW+F
ハッシュを使ってんのがperlのじゃねえの
2019/05/20(月) 19:35:06.91ID:SPSZRaeY
ランク付けならmap使うと楽、O(NlogN)が想定解
53デフォルトの名無しさん
垢版 |
2019/05/20(月) 19:41:12.77ID:Nk0f6TzG
前スレの場合、みんなハッシュ(set)かソート使ってたじゃん
2019/05/20(月) 19:53:28.74ID:GKW/g8qb
>>53 コンパクトなコーディングはみんなほぼ同じだったね。

python smalltalk java

なんかプログラミング言語を見直しはじめたよ。
複雑にせずに根本を見つめるコーディングが出来る言語というのは素晴らしい。
2019/05/20(月) 19:56:03.94ID:jO4bupva
え、JAVA?
2019/05/20(月) 19:58:48.02ID:HD7QqTZv
>>前スレ988 Perl5
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988

sub p {
 $h = int $n/2;
 for ($i=2; $i<=$h; $i++) {
  $s[$i] = 1 unless exists $s[$i];
  do {$s[$i*$_] = 0 for 2..int $h/$i} if $s[$i];
 }
 @p = grep{$s[$_]} 2..$h;
}
sub f {
 my $i = shift;
 my $h = int $i/2;
 for $j (grep{$_ <= $h} @p) {
  return ($j, f($i/$j)) if 0 == $i % $j;
 }
 $i
}
for $n (qw{28 2002 216653}) {
 p;
 my %f; $f{$_}++ for f($n);
 @f = map{$_ . (1 < $f{$_} and "^$f{$_}")} sort{$a<=>$b} keys %f;
 $" = '+';
 print "$n => @f\n";
}

実行
~ $ perl 13_988.pl
28 => 2^2+7
2002 => 2+7+11+13
216653 => 216653
57デフォルトの名無しさん
垢版 |
2019/05/20(月) 20:01:05.70ID:oKvxv21R
setにぶちこんで重複削除、リストにしてソートしてマップの値の方にインデックス入れて最後にそのマップ使って出して完成
58デフォルトの名無しさん
垢版 |
2019/05/20(月) 20:02:09.53ID:oKvxv21R
ゆっくり書いてたら間にたくさんの書き込みが入った。
俺のことは忘れてくれ。
2019/05/20(月) 20:08:45.44ID:HD7QqTZv
>>56 スマソ、ケアレスミスった、繋ぐ演算子は+ => *だた…orz
sub p {
 $h = int $n/2;
 for ($i=2; $i<=$h; $i++) {
  $s[$i] = 1 unless exists $s[$i];
  do {$s[$i*$_] = 0 for 2..int $h/$i} if $s[$i];
 }
 @p = grep{$s[$_]} 2..$h;
}
sub f {
 my $i = shift;
 my $h = int $i/2;
 for $j (grep{$_ <= $h} @p) {
  return ($j,f($i/$j)) if 0 == $i % $j;
 }
 $i
}
for $n (qw{28 2002 216653}) {
 p;
 my %f; $f{$_}++ for f($n);
 @f = map{$_ . (1 < $f{$_} and "^$f{$_}")} sort{$a<=>$b} keys %f;
 $" = '*';
 print "$n => @f\n";
}

実行
~ $ perl 13_988.pl
28 => 2^2*7
2002 => 2*7*11*13
216653 => 216653
2019/05/21(火) 22:06:24.96ID:vwCWORvF
test
2019/05/21(火) 22:14:40.60ID:vwCWORvF
>>56
https://mevius.5ch.net/test/read.cgi/tech/1434079972/58
2019/05/21(火) 22:17:32.24ID:vwCWORvF
お題と回答
>>5 : 6 10 32 36 44
>>9 : 15 34 35
>>11 : 48
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 :
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 : 59 61
63デフォルトの名無しさん
垢版 |
2019/05/21(火) 23:09:46.41ID:Arl7g85c
あなたが解けない C/C++/Java/C#/JavaScript の問題を有償で片付けるスレッドです
64デフォルトの名無しさん
垢版 |
2019/05/21(火) 23:10:51.22ID:Arl7g85c
有償で片付けるスレッドに貼り付けるのはよろしくないね
有償で片付けてほしくて出題してるわけじゃないでしょ
問題の窃盗だよ
2019/05/21(火) 23:21:22.29ID:GF2ZpO+x
>>59
Perlは配列に対するexistsやdefinedは呼び出せるが振る舞いは不明確で「強く」非推奨となっているので
この場合では問題なくとも@pはリストではなく代わりにハッシュ%pを使って実装するべきだった
2019/05/21(火) 23:33:57.22ID:GF2ZpO+x
>>65
ハッシュにしたほうが良いのは@pじゃなくて@sの方だったわ
2019/05/21(火) 23:56:06.27ID:Jac4P34c
>>64
バカチョンには何を言っても無駄だと思うよ
聞く耳持たない分からず屋の馬鹿だからバカチョンなんだから
2019/05/22(水) 00:03:24.91ID:qz4w5gXY
>>64
>>27に理由が書かれていたが、一ヶ所に纏めておくと便利だなんてのは個人の都合であって、他の人にはわざわざ間接参照を強いることになるのだから、ほんとに身勝手な奴だと思う。

>>27
纏めておくのは他所で勝手にやれ、このスレにはコードだけを貼れよ。お前の手間なぞ知ったことではない。
2019/05/22(水) 00:04:37.78ID:I/cGK6IK
ネトウヨもコテハンもうぜえわ
2019/05/22(水) 01:11:55.55ID:BQdyZ7fR
>>62 折角まとめるんなら、回答の方も >> でリンクを貼って欲しいな。
2019/05/22(水) 01:20:05.57ID:34FbFmyD
>>70
それは絶対にやらないんじゃね
奴は自分のことしか考えてないから
だから自己愛
永遠に人から煙たがられる存在
2019/05/22(水) 01:29:50.95ID:BQdyZ7fR
>>11 は、多角形の中のドットの内外判定問題と言うのが確立されてるみたいね。
色んな方法があるみたいだが、簡単なのは、
Crossing Number Algorithm
らしい、ググってみると結構コンパクトなコード。
他も見てみたが、問題は境界線上にある点は多角形外と判定する事。

だから、そのままのロジックに手を入れないとした場合、使う側としてどう解決したら良いんだろう。
直行正方形を1ドットずつ大きくしてから回転させる?

それとも、多角形の中の多角形問題の方が適してるのかな?

この問題は結構勉強になる。 問題のイメージを掴むために、図形表示までやり始めたよ。 表示するとより楽しくなる。
2019/05/22(水) 01:32:14.02ID:BQdyZ7fR
>>71 そこまで悪い人間では無さそうだけどな、おだてれば猿も木に登るタイプだとみた。
高い木に登ってもらおう。
2019/05/22(水) 01:33:07.52ID:57KmKoFr
ググラないで考えようとしていたけど、
ヒントを目にしてしまった気分
いやべつにいいけどさ
2019/05/22(水) 01:34:42.74ID:7yGywXQG
Q. クソ問題とは何ですか?
A. 問題の解釈を巡って議論や煽り合いが10レス以上続く、バカが投稿した不備のある問題のことです。
76デフォルトの名無しさん
垢版 |
2019/05/22(水) 04:38:05.31ID:qmHT8WH/
>>47 Ruby
("HELLO".."WORLD").each{|v| puts v}
2019/05/22(水) 07:31:41.79ID:O8fu6CiE
>>62
前スレ920 >>4
2019/05/22(水) 07:39:53.22ID:O8fu6CiE
>>72
https://dotup.org/uploda/dotup.org1853571.cpp.html

とりあえず図形表示。
一応内部の点は除去して、凸包を表示するような感じにしてる。
左クリックで頂点追加、右クリックで全削除、中クリックでリセット

操作しながらいろいろ検討してるけど、さっぱり思いつかない。
79デフォルトの名無しさん
垢版 |
2019/05/22(水) 10:43:49.16ID:qmHT8WH/
>>9 Ruby

def sumnum(n)
(0..4).map{|i| ("1"*n +"0"*i).to_i}
end
2019/05/22(水) 12:02:59.73ID:75T3S5z+
>>78  
Windows じゃないと動かないようだけど見やすいようにideonに張ってみた。
https://ideone.com/gJVREH

凸包と言うんだね。

2次元の凸包を求めるアルゴリズムと応用について
https://matsu7874.hatenablog.com/entry/2018/12/17/025713
凸包(convex hull)とは,与えられた点をすべて包含する最小の凸多角形(凸多面体)のこと.

--------
凸包が求められても難しいね。 凸包内の点を削除して計算時間を削減できる効果はあるかもしれないけど。
2019/05/22(水) 12:11:47.61ID:/472uU17
凸包が求められれば、頂点の並びも整列するので
形状を分割して余弦定理とかから導けないかなって思ったんだよね
82デフォルトの名無しさん
垢版 |
2019/05/22(水) 12:13:57.61ID:pwChZnOT
>>47
画面の幅が足りなくて表示できません。
2019/05/22(水) 12:34:28.61ID:/472uU17
ちなみに、最小を求めるだけならある角度から見た凸包の一次元への投影と、直交する角度からの一次元への投影を180度回しながら調べれば出せると思うけど、分割の粒度の問題で、本当に最小が取れる保証はないね
84デフォルトの名無しさん
垢版 |
2019/05/22(水) 13:45:45.60ID:pwChZnOT
>>76
試しに Perl でも 文字列 .. 文字列 をやってみたらできたよ。
こんなことできたとは。知らないまま20年以上使ってたよ。w
8550
垢版 |
2019/05/22(水) 19:14:59.08ID:1CosvZF6
>前スレの920
頭を使った。Ruby で、

str = "-6 3 9 5 3 -7"

original_ary = str.split.map!( &:to_i ) # 各要素は整数型
hash = original_ary.each_with_object( { } ) { | num, h | h[ num ] = true }

sorted_ary = hash.sort # キーでソートする
#=> [[-7, true], [-6, true], [3, true], [5, true], [9, true]]

# Enumerator#with_index(offset = 0)
sorted_hash = sorted_ary.each.with_index( 1 ) { | elem, idx | elem[ 1 ] = idx }.to_h

# p sorted_ary
#=> [[-7, 1], [-6, 2], [3, 3], [5, 4], [9, 5]]

# p sorted_hash
#=> {-7=>1, -6=>2, 3=>3, 5=>4, 9=>5}

results = original_ary.map{ | num | sorted_hash[ num ] }
puts results.join( " " ) #=> 2 3 5 4 3 1
2019/05/22(水) 19:16:47.93ID:Kujyr1dD
>>70-71
アンカーが多すぎると投稿できないのです、ただそれだけです
2019/05/22(水) 19:17:22.29ID:Kujyr1dD
>>73
>おだてれば猿も木に登るタイプだとみた。
痛いところを突きますね…
8850
垢版 |
2019/05/22(水) 19:26:33.00ID:1CosvZF6
>2 3 5 4 3 1

これが、
2 3 6 5 3 1

みたいに、4 が無くなる・飛ばされるランキングだと、もっとややこしい!w
89デフォルトの名無しさん
垢版 |
2019/05/23(木) 09:23:03.57ID:mvOL8yN3
前スレの920 Ruby



def f(a)
b={}
a .dup.sort.each{|v|b[v]=b.size+1 if not b.key v}
a.map{|v|b[v]}
end

p f([-6,3,9,5,3,-7])
[2, 3, 5, 4, 3, 1]
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況