[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/26 17:31 / Filesize : 264 KB / Number-of Response : 1042
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2020/03/13(金) 01:42:47.06 ID:0rEhys36.net]
プログラミングのお題スレです。

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文
  結果がある場合はそれも

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
codepad.org/
compileonline.com/
rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
melpon.org/wandbox
https://paiza.io/

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

※前スレ
プログラミングのお題スレ Part16
https://mevius.5ch.net/test/read.cgi/tech/1573948822/

448 名前:デフォルトの名無しさん [2020/05/04(月) 07:38:47 ID:kseU4FEU.net]
>>435
端子の出現順を固定しないから無駄に組合せが増えているのではないだろうか。

449 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 13:46:12 ID:FrWOvyZy.net]
お題
H行W列のマス目が与えられる。左上の座標を(0, 0)、右下の座標を(H, W)とする。
座標(0.5, 0)を始点にしてボールを右下45度の方向に発射する。
ボールが始点に戻ってくるまでに壁に衝突する回数を求めよ。
(マス目の範囲外は壁とみなす。ボールの大きさや摩擦などは無視してよい)

[入力]
H W
('.'が地面、'#'が壁)

[例]
1 1
.
=> 4 (軌跡は◇の形)

4 5
..#..
#..#.
.#..#
..#..
=> 18

5 10
..........
#########.

450 名前:
..........
.#########
..........
=> 66
[]
[ここ壊れてます]

451 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 15:35:11 ID:oc+BowE6.net]
>>437
x = Math.gcd(H, W);
print((H / x + 1) * ( W / x + 1));

452 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 15:38:07 ID:oc+BowE6.net]
ああ、違うな
壁って長方形の辺上にだけあるのかと思って解いてた

453 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 16:28:39 ID:cRRhYgqa.net]
バーカ

454 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 17:18:49 ID:7s1fJbf+.net]
>>437 Perl5、素直に壁で跳ね返る回数をカウント

for (<DATA>) {
 ($H, $W, @a) = /(\S+)/g;
 @s = map{[map{$_ eq '#'} split '']} @a;
 my %t;
 for $h (0..$H-1) { $t{$h+0.5}{0} = $t{$h+0.5}{$W} = 1;
  for $w (0..$W-1) { $t{0}{$w+0.5} = $t{$H}{$w+0.5} = 1;
   next unless $s[$h][$w];
   $t{$h}{$w+0.5} = $t{$h+0.5}{$w} = $t{$h+0.5}{$w+1} = $t{$h+1}{$w+0.5} = 1;
  }
 }
 ($x, $y, $dx, $dy, $n) = (0.5, 0, 0.5, 0.5, 0);
 do {
  $x += $dx; $y += $dy;
  if ($t{$y}{$x}) {
   $dx = -$dx if $y =~ /\.5/; $dy = -$dy if $x =~ /\.5/;
   $n++;
  }
 } while $x != 0.5 or $y != 0;
 print "$n\n"
}
__DATA__
1 1 .
4 5 ..#.. #..#. .#..# ..#..
5 10 .......... #########. .......... .######### ..........

実行結果
~ $ perl 17_437_bounce.pl
4
18
66

455 名前:デフォルトの名無しさん [2020/05/04(月) 17:58:07.94 ID:IDpBo4iue]
あなたの会社は「お金を介した」依存?全員副業必須の経営がもたらした脱依存
https://www.businessinsider.jp/post-212190
新潟から週2回東京に出勤、サイボウズの複業採用社員に聞く複業ライフのリアル。
https://www.businessinsider.jp/post-166126
兼業でフリーライター、サイボウズ社員・明石悠佳に学ぶパラレルワーク術
https://www.wwdjapan.com/articles/752575
「複業を解禁しなければ人も企業も成長しない」複業全面OKのサイボウズ社長と実践社員の本音対談
https://www.businessinsider.jp/post-33893
育休は最長6年、副業もOK! サイボウズはなぜ「100人100通りの人事制度」を作ったのか
https://logmi.jp/business/articles/50252
年商10億円の“フリーランスの王”に聞く就活論「頭が悪い人ほど大手企業に行く」
https://headlines.yahoo.co.jp/article?a=20200401-00292145-bizspa-bus_all
副業3600万円のブロガー、マジメに確定申告したら税金がヤバいことに…
https://headlines.yahoo.co.jp/article?a=20200320-01649629-sspa-bus_all

456 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 18:29:48 ID:FrWOvyZy.net]
お題
2つの文字列について、文字列を構成する文字が同じで、最初と最後の文字が合っていれば、
その2つの文字列は等価であるとみなす。

文字列がN個与えられる。
上記ルールに従って重複を除去したとき、文字列はいくつ残るか?

(例)
6
programming
odai
prorgamnimg
oadi
pgorgamming
idao
=> 4



457 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 19:25:38 ID:ku0WQYaW.net]
>>443 Perl5、"6"も文字列に含めれば、4

for (<DATA>) {
 @a = /(\w)/g;
 %h = map{$_ => 1} @a;
 $s = $a[0].join('', sort keys %h).$a[-1];
 print "$_ -> $s\n";
 $g{$s}++;
}
print keys(%g)."\n";
__DATA__
6
programming
odai
prorgamnimg
oadi
pgorgamming
idao

実行結果
~ $ perl 17_442_similstr.pl
666 <- 6
pagimnoprg <- programming
oadioi <- odai
pagimnoprg <- prorgamnimg
oadioi <- oadi
pagimnoprg <- pgorgamming
iadioo <- idao
4

458 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 19:32:53 ID:Jy1F1UMD.net]
暇人か

459 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 19:38:37 ID:aNaLc8en.net]
>>443
(defun cambridge-string= (a b)
(and (char= (elt a 0) (elt b 0))
(char= (elt a (1- (length a))) (elt b (1- (length b))))
(string= (sort (copy-seq a) #'char<) (sort (copy-seq b) #'char<))))

(defvar *set* nil)
(dotimes (n (read))
(pushnew (read-line) *set* :test #'cambridge-string=))
(princ (length *set*))
common lispのsortは破壊的だったのか

460 名前:デフォルトの名無しさん [2020/05/04(月) 23:39:20.54 ID:g5q+36pu.net]
>>444
Java
https://paiza.io/projects/YOefZxfsXYBVvIfI9q2z0w

461 名前:デフォルトの名無しさん [2020/05/04(月) 23:43:12.22 ID:g5q+36pu.net]
>>447
おぎゃー
レス番間違えた
>>443
https://paiza.io/projects/YOefZxfsXYBVvIfI9q2z0w

462 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 23:55:30 ID:GlEFtj51.net]
>>443 Ruby

p %[6 programming odai prorgamnimg oadi pgorgamming idao].
uniq{|s| b, *m, e = s.chars; [b, e, m.uniq.sort]}.size

# => 4

463 名前:289 mailto:sage [2020/05/05(火) 07:17:23 ID:JzUmiA6e.net]
>>436
端子の順番は固定ですよ
なので print_map2() では省略しています
print_map() で出力すれば >>286 のフォーマットになります

464 名前:デフォルトの名無しさん [2020/05/05(火) 09:05:10 ID:ZpeQ6MPR.net]
>>443 J

smoutput # ~. <@( /:~ , {. , {:);._2 stdin ''

465 名前:デフォルトの名無しさん [2020/05/05(火) 09:59:56 ID:nQMNje/J.net]
4入力一致の回路
選別

digraph g1 {
subgraph cluster_1 {
label = "Solution_1"
aa_1_0, aa_1_0 -> aa_1_4 ; aa_1_1, aa_1_1 -> aa_1_5 ;
aa_1_3, aa_1_2 -> aa_1_6 ; aa_1_4, aa_1_2 -> aa_1_7 ;
aa_1_5, aa_1_3 -> aa_1_8 ; aa_1_5, aa_1_4 -> aa_1_9 ;
aa_1_8, aa_1_7 -> aa_1_10 ; aa_1_9, aa_1_6 -> aa_1_11 ;
aa_1_10, aa_1_10 -> aa_1_12 ; aa_1_12, aa_1_11 -> aa_1_13 ;
aa_1_13, aa_1_13 -> aa_1_14 ;
}
}

466 名前:デフォルトの名無しさん mailto:sage [2020/05/05(火) 12:20:16 ID:hsugdvwn.net]
>>270
R
https://ideone.com/HALCW7



467 名前:デフォルトの名無しさん [2020/05/05(火) 15:23:47 ID:JDagEH9a.net]
>>443
c++
https://ideone.com/yBU6PG

sortしてuniqするだけ、45行

468 名前:デフォルトの名無しさん mailto:sage [2020/05/05(火) 16:00:33 ID:DwVtkNv1.net]
>>454
> auto end_pt = unique(s.begin(), s.end());
> s.erase(s.end(), end_pt);
バグってるぞ

469 名前:デフォルトの名無しさん mailto:sage [2020/05/05(火) 16:03:15 ID:YfHt+PT9.net]
sortしてuniqするだけなら3になるはずだと思って眺めたら
その前に加えて、先頭と最後の文字の比較もしてるやん
auto equalsBeginBack = [=](string a, string b){
return *a.begin() == *b.begin() && *&a.back() == *&b.back();

470 名前:デフォルトの名無しさん mailto:sage [2020/05/06(水) 10:23:41 ID:crwQV4oz.net]
>>270 ocaml
https://ideone.com/pjVHjr

471 名前:デフォルトの名無しさん mailto:sage [2020/05/06(水) 11:19:55 ID:2pJLNopY.net]
>>270 Dart

import 'dart:io';

void main() {
  final var str = stdin.readLineSync();
  const var reg = RegExp(r'\d+');
  final List<int> args = reg.allMatches(str).map((m)=>int.parse(m.group(0))).toList();
  final column = args.removeLast();
  final result = [];
  for(var i = 0; i <= args.length ~/ column; i += column) {
    result.add(args.sublist(i, i + column));
  }
  print(result);
}

// input
[1, 2, 3, 4], 2

// output
[[1, 2], [3, 4]]

472 名前:デフォルトの名無しさん mailto:sage [2020/05/06(水) 11:28:40 ID:44vKh6W3.net]
#!/usr/bin/env -S sbcl --script

(format t "~d~%"
    (length (delete-duplicates
         (loop repe

473 名前:at (read) collect (read-line))
         :test (lambda (a b)
             (and (string= (sort a #'char<) (sort b #'char<))
                (char= (char a 0) (char b 0))
                (char= (char a (1- (length a))) (char b (1- (length b)))))))))
>>446
Common Lisp HyperSpecではSide Effects: None.となっているけれど。
[]
[ここ壊れてます]

474 名前:デフォルトの名無しさん [2020/05/06(水) 18:22:42 ID:izcxg96Z.net]
>>443
Kotlin
https://paiza.io/projects/i27KzyH5DRbZTc6mfxL6AA

複数の同一文字を1文字扱いでやる場合はコメントを外して SortedSet に文字を入れる方を有効にする。

475 名前:デフォルトの名無しさん [2020/05/07(Thu) 05:41:45 ID:elBmdblJ.net]
>>443 Io

File standardInput readLines map(do(
sort .. slice(0,1) .. slice(size)
))unique size println

476 名前:デフォルトの名無しさん mailto:sage [2020/05/07(Thu) 08:19:16 ID:6mNBxlfC.net]
>>459
こんなこともできるんだな



477 名前:デフォルトの名無しさん mailto:sage [2020/05/08(金) 01:18:21 ID:i1AtDmyk.net]
色んな言語による実装が見られて楽しい。
ロゼッタストーンのように自分が出来ない言語の実装も
お題ごとに見られて面白い

478 名前:デフォルトの名無しさん mailto:sage [2020/05/08(金) 01:21:58 ID:+VsvN9e2.net]
回答する人に力量のある人がいて感心する

479 名前:デフォルトの名無しさん [2020/05/08(金) 10:32:30 ID:4QFssqyQ.net]
>>452
心が癒される回路である。

480 名前:デフォルトの名無しさん mailto:sage [2020/05/08(金) 19:17:46 ID:Fn4yfVbS.net]
>>443
Haxe で

var input_ary: Array<String> = [ "6", "programming", "odai", "prorgamnimg", "oadi", "pgorgamming", "idao" ];
var str_map = new Map<String, Bool>( );

for ( i in 0...input_ary.length ) {
var char_ary = input_ary[ i ].split( "" );
var tmp_ary = new Array<String>( );
var tmp_str = "";
var char_map = new Map<String, Bool>( );

tmp_str = tmp_str + char_ary[ 0 ] + char_ary[ char_ary.length - 1 ]; // 最初・最後

for ( j in 0...char_ary.length ) {
char_map.set( char_ary[ j ], true ); // 同じ文字を排除
}
for ( ch in char_map.keys( ) ) {
tmp_ary.push( ch );
}
tmp_ary.sort( function( a, b ): Int {
return ( a.charCodeAt( 0 ) > b.charCodeAt( 0 ) ) ? 1 : -1; }
);
for ( k in 0...tmp_ary.length ) {
tmp_str += tmp_ary[ k ];
}
str_map.set( tmp_str, true ); // 重複排除
}
var size = Lambda.count( str_map );
trace( size ); // 4

481 名前:デフォルトの名無しさん mailto:sage [2020/05/09(土) 20:03:47 ID:slqshlLL.net]
お題
文字列Sが与えらえる。Sの部分列に"odai"は何個あるか?

[1] odadai => 3
部分列は以下の3通り
oda__i
od__ai
o__dai

[2] odaiodai => 5

[3] ooooddddaaaaiiii => 256

[4] daioadiao => 0

482 名前:デフォルトの名無しさん mailto:sage [2020/05/09(土) 20:12:38 ID:I3214lBo.net]
>>467
greedy algorithmしか思い浮かばんがいい方法があるのかね

483 名前:デフォルトの名無しさん mailto:sage [2020/05/09(土) 20:36:23 ID:xxoS62Bp.net]
つべこべ言ってねえでコード書け

484 名前:デフォルトの名無しさん mailto:sage [2020/05/09(土) 21:12:25 ID:CDHXGmMd.net]
>>467
D 再帰の力ってすげー
size_t count_substring(string target, string from) {
if (target.length == 0) {
return 1;
} else if (from.length == 0) {
return 0;
} else if (target[0] == from[0]) {
return count_substring(target[1..$], from[1..$]) + count_substring(target, from[1..$]);
} else {
return count_substring(target, from[1..$]);
}
}

485 名前:デフォルトの名無しさん mailto:sage [2020/05/09(土) 22:25:02 ID:146lBXch.net]
>>467
haskell
f [] _=1
f _ []=0
f (x:xs) (y:ys)
| x==y = f xs ys+(f (x:xs) ys)
| otherwise = f (x:xs) ys

f "odai" "odadai" -> 3

486 名前:デフォルトの名無しさん mailto:sage [2020/05/10(日) 02:37:29 ID:7LyD5VxZ.net]




487 名前:ョ全に再帰案件だったな []
[ここ壊れてます]

488 名前:デフォルトの名無しさん mailto:sage [2020/05/10(日) 08:58:28.24 ID:4OJfHckY.net]
>>467 Ruby
https://ideone.com/AxLfCd
文字列処理を減らしたいので 2pass化
"odadai" => [[0], [1, 3], [2, 4], [5]] # 2passでは 左が小さな組み合わせをカウント
"odaiodai" => [[0, 4], [1, 5], [2, 6], [3, 7]]

489 名前:466 mailto:sage [2020/05/10(日) 13:59:33.90 ID:gIVDr8oL.net]
入力サイズが小さいと簡単みたいなので、入力例を追加します。

[1]〜[4]の入力を1000回繰り返した文字列を入力とした場合

[1'] 167501334000
[2'] 668668500500
[3'] 10730784064000
[4'] 999666166500

490 名前:デフォルトの名無しさん mailto:sage [2020/05/10(日) 15:14:38 ID:f3PnDX6/.net]
>>474
python https://ideone.com/Qodc4Y

計算量は "対象文字数 * 4"
"odai"4文字なら、50万文字もいける
(多倍長のコストの方が多いかも)

491 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 00:53:30 ID:LhYTwRyi.net]
マソコ

492 名前:デフォルトの名無しさん [2020/05/11(月) 19:02:44.58 ID:bA9qwXrL.net]
>>475
すごすぎる

493 名前:蟻人間 mailto:sage [2020/05/11(月) 19:04:56.86 ID:0EGbwihd.net]
お題: 15パズルの解法のプログラム。

494 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 19:46:15.63 ID:R+jEWyVC.net]
>>474
https://ideone.com/xzPlNr

495 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 20:40:10 ID:M5DpbX0A.net]
15 パズルは、絶対に解けないパターンもあるけど

496 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 21:17:25.91 ID:WNe361+M.net]
確率1/2



497 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 21:29:36.57 ID:7ARsAnzF.net]
解けるパターンでやれ

498 名前:デフォルトの名無しさん [2020/05/11(月) 23:42:50 ID:Hyf1216H.net]
お題: 15パズルのシャッフルプログラム

499 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 23:48:03 ID:72QosWs+.net]
>>483 js

過去に作ったやつですまん
https://codepen.io/as124680/full/rNOOLYP

500 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 00:48:01.84 ID:1cwWHoSt.net]
>>479
C か

501 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 06:39:50.88 ID:DbNVGyl2.net]
>>474
D https://ideone.com/lhlPdj
前半に含まれる"odai"の接中辞たちの数と後半のそれから全体のそれを求める、を再帰的にやる

502 名前:デフォルトの名無しさん [2020/05/12(火) 19:39:32.13 ID:MKYG7Wu5.net]
>>467 Ruby
def f(a,b)
r=0
v=b.chars
a.chars.combination(b.size){|x| r+=1 if x==v}
r
end

503 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 19:42:03.58 ID:Yyd7NZU2.net]
>>487
charsじゃなくてeach_charを使うべきだな

504 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 19:43:06.34 ID:Yyd7NZU2.net]
ごめんなんでもないわ

505 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 20:28:19.14 ID:Az5UEVMy.net]
前にもRubyにケチつけてるやついたな
そんなにRubyが好きなのか

506 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 23:41:00 ID:FPX3gN+i.net]
だれもrubyにはけちつけてないだろ
自意識過剰



507 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 23:56:13 ID:78VrOqdX.net]
だれも〜してないだろって何度も見た言い回しだ

508 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:00:23 ID:nr6gd5ft.net]
よそでやれ

509 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:03:06 ID:slJfSE7v.net]
>>491
Rubyのコードを見るとシュババ!って「Rubyはもっと簡潔に書ける!Rubyはもっと便利なんだ!」だとアピールするやつがいるってこと。
この板にはRubyガイジが蔓延ってるからそいつが脳裏に浮かんだからレスしてみただけです。

510 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:05:48 ID:5NOWSl2X.net]
>>494
気持ちは分かるしそう感じている人は一定数いるが
大人になれ
よそでやれ

511 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:07:21.70 ID:nBU0 ]
[ここ壊れてます]

512 名前:Zg0F.net mailto: 短いと簡潔は別だけどな []
[ここ壊れてます]

513 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:21:44 ID:2w6TZUl8.net]
だれも同じとかいってないだろ
自意識過剰

514 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:27:54.61 ID:6zcLgAPe.net]
いや同じだ。

515 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:29:44.51 ID:vHp1rr46.net]
よそでやれ

516 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:30:24.48 ID:h1pJmPup.net]
おっとrubyの悪口はそこまでにしろ
続きは
https://mevius.5ch.net/test/read.cgi/tech/1578068134
でやれ。



517 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 05:39:05.13 ID:n5K1RBuf.net]
言われた本人が言うならまだしも外野は黙ってろ

518 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 08:05:10.41 ID:E1Bs+xhk.net]
キミも外野ですやん。

519 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 09:10:17 ID:n5K1RBuf.net]
>>502
死ねキチガイ

520 名前:デフォルトの名無しさん [2020/05/13(水) 17:55:10 ID:m+8rhLrR.net]
0~7を2~19の素数に対応させた回路
digraph g1 {
subgraph cluster_1 {
label = "Solution_1"
aa_1_1, aa_1_1 -> aa_1_3 ; aa_1_2, aa_1_2 -> aa_1_4 ;
aa_1_3, aa_1_0 -> aa_1_5 ; aa_1_4, aa_1_3 -> aa_1_6 ;
aa_1_5, aa_1_0 -> aa_1_7 ; aa_1_5, aa_1_2 -> aa_1_8 ;
aa_1_6, aa_1_6 -> aa_1_9 ; aa_1_7, aa_1_1 -> aa_1_10 ;
aa_1_7, aa_1_7 -> aa_1_11 ; aa_1_8, aa_1_2 -> aa_1_12 ;
aa_1_8, aa_1_6 -> aa_1_13 ; aa_1_9, aa_1_5 -> aa_1_14 ;
aa_1_12, aa_1_5 -> aa_1_15 ; aa_1_12, aa_1_10 -> aa_1_16 ;
}
}

521 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 20:50:56 ID:+xkAlvWp.net]
>>503
おめえが死ね

522 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 20:51:34 ID:NqwOCnph.net]
いや私が

523 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 21:30:04 ID:jXNyDpel.net]
いや俺が

524 名前:◆QZaw55cn4c mailto:sage [2020/05/13(水) 21:47:36 ID:k/cJlRBb.net]
私も私も

525 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 22:24:24 ID:NqwOCnph.net]
おまえはしんでいい

526 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 23:20:16 ID:dw67B8Yn.net]
そこはどうぞどうぞだろ



527 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 00:37:25.58 ID:of1F+sQS.net]
違うだろバカたれどもが

528 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 00:38:29.74 ID:RmYHvTyI.net]
クソスレ

529 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 00:41:44.75 ID:EjdWSTcH.net]
>>494

530 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 00:54:20 ID:jR2NR8u3.net]
フォーハンドレッドナインティスリー

531 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 00:58:18 ID:9jXLNArV.net]
またRuby信者が暴れてるのか
そんなんだから廃れるんだぞ

532 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 04:20:05 ID:v2H0Pbjl.net]
>>515
必死過ぎてキモい

533 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 08:19:01 ID:ATZ04u9M.net]
巣から出てこないで

534 名前:デフォルトの名無しさん [2020/05/14(木) 11:14:37.43 ID:mLSyRb78.net]
お題: 標準入力から使用言語のインポート文やインクルード文に相当する複数の文が入力される
インポート文のパッケージ名をキーにして複数の文を昇順にソートして出力せよ

例: (Pythonの場合)
in < import abc
import def
from ABC import DEF

out > from ABC import DEF
import abc
import def

535 名前:デフォルトの名無しさん [2020/05/14(Thu) 12:37:36 ID:HMZArJeP.net]
iostreamが一番上に無いと落ち付かないし、
<>と""が混ざるのもヤダ

536 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 12:48:23 ID:xgmSq5h2.net]
じゃあ勝手にそのルールで作れば



537 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 16:21:13 ID:TUXEfYWI.net]
#includeは行を前後入れ換えるとエラーになることあるから実用的ではない

まあ例え実用的でなくても要求仕様のとおり作れってことなんでは?

538 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 17:58:25.38 ID:nTyJBG5I.net]
お題の意味を深読みするやつはテストの点が悪い
テストの問題などそれが解けるかどうかを見たいのであって
それ自体に大した意味はない

539 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 18:53:37.14 ID:vCkOIzUf.net]
それはそのテストが能力評価試験か
あるいは単なる選別試験化によること

540 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 19:33:13.92 ID:TM7TYhs5.net]
>>518 Ruby
回答が困難な例を考えてみた

require 'etad'.reverse

fo

541 名前:o = 'date'
require foo

require %w| json date net cgi |[1]

module Foo module Bar
Car = 'date'
end end
require Foo::Bar::Car

require_relative './foo/../bar/../car/../wrk'
[]
[ここ壊れてます]

542 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 19:45:30.93 ID:0XakIAB2.net]
馬鹿か。

543 名前:デフォルトの名無しさん [2020/05/14(Thu) 19:59:06 ID:9P667XH0.net]
お題
ipのフィルタリングを行ってください
許可するipが次の形式で入力されます allow ip
拒否するipが次の形式で入力されます deny ip
チェックするipが次の形式で入力されます ip
アクセスを許可する場合は次の文字列を出力してください allow
アクセスを拒否する場合は次の文字列を出力してください deny

許可するip、拒否するipの形式は次の2つです
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx/xx (CIDR形式)

xxx.xxx.xxx.xxxの場合は、完全一致で判断してください
CIDR形式の場合は、ネットワークアドレスの一致で判断してください

チェックするipの形式はxxx.xxx.xxx.xxxのみです

allowとdenyの優先順について
1. allow ipに該当したらアクセスを許可します
2. 1.に該当せず、deny ipに該当したらアクセスを拒否します
3. 1.に該当せず、2.に該当しない場合アクセスを許可します


入力
allow 192.168.11.9
deny 192.178.12.3/8
allow 192.168.23.34/16
192.168.89.99

出力
allow

544 名前:デフォルトの名無しさん [2020/05/14(Thu) 20:01:48 ID:9P667XH0.net]
小規模なシステムだとサーブレットでipのフィルタリングすることあるから結構実用的だと思う

545 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 20:08:05 ID:jKQspZfc.net]
denyだけ調べりゃいいんでない?

546 名前:デフォルトの名無しさん [2020/05/14(木) 20:24:36.69 ID:9P667XH0.net]
>>528
そういうわけでもないんよ

例えば
deny 0.0.0.0/0
allow 20.8.5.34

とした場合、20.8.5.34は許可するけど、それ以外は全部拒否っちゃうみたいな
ホワイトリスト方式の使い方も想定してるんよ

システムの入り口のところなので大量のリクエストを裁かなければいけないので
できるだけ高速に動作するように、さらにアクセス制御リストに変更があった場合に
即座に反映するために外部リソースから読み取るようにしておいてみたいなことも
考えると良い暇つぶしになるよー



547 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 20:32:03 ID:jKQspZfc.net]
>>529
なるほど確かにその通りであらう

548 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 20:59:39.91 ID:lLI6eB7P.net]
何をあらうんだよ…






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<264KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef