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/
369 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 18:55:56 ID:9sR0wNPf.net] これでもサラリーマンの年収の上位5%に入るんだ
370 名前:◆QZaw55cn4c mailto:sage [2020/04/28(火) 18:58:28 ID:cQuYXkHz.net] >>349 重力加速度を指定ください
371 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 19:02:43 ID:9sR0wNPf.net] 9.80665
372 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 19:31:55 ID:KJ919r2x.net] 数学の話になると毎度現れるアスペ君今日も来てて草 アスペが重度なのか数学コンプが重度なのか
373 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 19:43:22 ID:yUYRMh3W.net] >>308 C 幅優先探索 https://ideone.com/IsSgky
374 名前:デフォルトの名無しさん [2020/04/28(火) 19:44:24 ID:6K6MgdzD.net] >>293 全加算器 Step 12, Solution 3 0 : -1, -2: 0, 0, 0, 0, 1, 1, 1, 1 : 4 1 : -1, -2: 0, 0, 1, 1, 0, 0, 1, 1 : 4 2 : -1, -2: 0, 1, 0, 1, 0, 1, 0, 1 : 4 3 : 2, 1: 1, 1, 1, 0, 1, 1, 1, 0 : 6 4 : 3, 1: 1, 1, 0, 1, 1, 1, 0, 1 : 6 5 : 3, 2: 1, 0, 1, 1, 1, 0, 1, 1 : 6 6 : 5, 4: 0, 1, 1, 0, 0, 1, 1, 0 : 4 7 : 6, 0: 1, 1, 1, 1, 1, 0, 0, 1 : 6 8 : 7, 0: 1, 1, 1, 1, 0, 1, 1, 0 : 6 9 : 7, 3: 0, 0, 0, 1, 0, 1, 1, 1 : 4 * 10 : 7, 6: 1, 0, 0, 1, 1, 1, 1, 1 : 6 11 : 10, 8: 0, 1, 1, 0, 1, 0, 0, 1 : 4 * 他2
375 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 21:14:59.05 ID:5Mrr6wN/.net] お題:CapsLock on/offを切り替えながら文字入力 [入力] A B C S A : Shiftキーを押さずに1文字入力するのにかかる時間 B : Shiftキーを押しながら1文字入力するのにかかる時間(※) C : CapsLock on/offの切り替えにかかる時間 S : 入力する文字列(英字のみ) ※CapsLock onで小文字入力、CapsLock offで大文字入力にかかる時間をBとする [出力] 初期状態をCapsLock offとしたとき、Sを入力するのにかかる時間の最小値を求めよ (例1) 2 3 4 ABCDE => 14 CapsLockを使わない場合、3+3+3+3+3=15 CapsLockを使うと、(4)+2+2+2+2+2=14 (例2) 2 3 4 aBCDe => 13 CapsLockを使わない場合、2+3+3+3+2=13 2文字目以降CapsLock onの場合、2+(4)+2+2+2+3=15
376 名前:デフォルトの名無しさん [2020/04/29(水) 01:24:53.33 ID:W2Vd/2U1.net] >>364 そんな長いコードよく1日でかけたな
377 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:08:45.13 ID:hFx8dHat.net] つられて開いたら、そんなに長くなかった
378 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:11:21 ID:hFx8dHat.net] モレも若い頃、力ずくの実装
379 名前:でこう言ふコード書いていた時期があった希ガス 遠い目 [] [ここ壊れてます]
380 名前:デフォルトの名無しさん [2020/04/29(水) 02:17:11 ID:7u9sxpAB.net] プログラマってプライド高いからすぐに張り合うよねw
381 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:21:44 ID:MMtCgKFX.net] 誰も張り合っていないが
382 名前:デフォルトの名無しさん [2020/04/29(水) 02:22:31 ID:IXK0ODva.net] 子どもみたい
383 名前:デフォルトの名無しさん mailto:age [2020/04/29(水) 02:25:50 ID:HpBd3h/I.net] 大人とは何か
384 名前:デフォルトの名無しさん [2020/04/29(水) 02:27:25.42 ID:IXK0ODva.net] 冗談だから間に受けなくていいよ。
385 名前:デフォルトの名無しさん mailto:age [2020/04/29(水) 02:28:27.81 ID:HpBd3h/I.net] 大人とは酒、タバコ、Unix
386 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:29:29.28 ID:C2sNF63S.net] >>374 うざいからよそでやれ
387 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:29:46.63 ID:sgNXZLgj.net] うん。で?
388 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:30:51.12 ID:gC4oizq8.net] >>375 うざいからよそでやれ
389 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:33:29.03 ID:YwwSpjL1.net] 餌をあげないでください。
390 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:33:56.37 ID:b7RiChMO.net] >>379 うざいからよそでやれ
391 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:35:59.66 ID:nrbD9/Mw.net] >>380 あなたにとってうざいことは、みな歓迎しています
392 名前:デフォルトの名無しさん [2020/04/29(水) 02:36:09.16 ID:CXgZ7sKW.net] >>369 そうなんだおじさん「そうなんだ」
393 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:37:10.95 ID:hZe4L1sV.net] いやいや全然違います
394 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:38:46.06 ID:pkOZSJYa.net] いいえ全然違いません
395 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:39:10.87 ID:OQU5gELq.net] くだらねぇーw
396 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:40:49.50 ID:tOnjZeuD.net] くだらないことは何度も
397 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:41:29.87 ID:OQU5gELq.net] うん。で?
398 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:41:55.06 ID:i/nVZZDh.net] うざいからよそでやれ
399 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:43:06.43 ID:OQU5gELq.net] │ _、_ │ ヽ( ,_ノ`)ノ 残念、それは私のおいなりさんだ。 │ へノ / └→ ω ノ >
400 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:43:16.68 ID:JIRRi7ju.net] おじさんはここがいいです。
401 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:44:14.14 ID:Fecc9l/8.net] くだらねーw
402 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:44:35.49 ID:OQU5gELq.net] 逝ってよし
403 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:45:11.17 ID:73PkxB6e.net] おじさんはよそに行きましょうね
404 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:45:55 ID:OQU5gELq.net] ↓少し下でID変えて書くはず 逝ってよし
405 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:46:12 ID:mcZoq7mu.net] くだらねーw
406 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:47:10 ID:XlBNFPbk.net] 逝ってよし
407 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:47:46 ID:OQU5gELq.net] ktkr
408 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:48:03 ID:QCxNpmbM.net] くだらねーw
409 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:49:03 ID:P4G9hJZv.net] 律儀だなお前
410 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:50:36 ID:WGhV7jsx.net] おじいちゃんの唐突な自分語りワロタ
411 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:50:44 ID:189Zc0ZE.net] >>398 ご褒美あげるよ https://www.google.co.jp/search?q=%E3%83%9E%E3%83%B3%E3%82%B3&hl=ja&source=lnms&tbm=isch&sa=X&ved=2ahUKEwibwsmt14vpAhXGQN4KHZx_AsYQ_AUoAnoECAsQBA&biw=1024&bih=626
412 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:53:16.11 ID:189Zc0ZE.net] >>400 お前も、ご褒美、欲しい?
413 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:54:44 ID:189Zc0ZE.net] やっぱ、お前には、あーげない。
414 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:57:53 ID:189Zc0ZE.net] なぜこの程度で、黙る?
415 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 02:59:48.25 ID:189Zc0ZE.net] かわいそうなことをしてしまったかな…
416 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 03:13:10 ID:VGrmX9xw.net] ご褒美にどうせ貼るならこっちだろ https://www.google.co.jp/search?q=%E3%83%9E%E3%83%B3%E3%82%B3&source=lnms&tbm=isch&sa=X&ved=2ahUKEwi2__io3IvpAhXoy4sBHWLLAs0Q_AUoAnoECAsQBA&biw=1024&bih=626
417 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 03:14:48 ID:VGrmX9xw.net] いやいやこっち https://www.google.co.jp/search?q=%E3%83%9E%E3%83%B3%E3%82%B3&source=lmns&tbm=vid&bih=626&biw=1024&hl=ja&ved=2ahUKEwja0Yir3IvpAhUyMHAKHSsUDc0Q_AUoAXoECAEQAQ
418 名前:289 mailto:sage [2020/04/29(水) 07:47:59 ID:h4pVS5Or.net] >>286 Ruby https://ideone.com/KV5X5c 主な処理をテーブルで済ませて高速化 ideone の時間制限内に完走できた
419 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 09:28:47
] [ここ壊れてます]
420 名前:.04 ID:7z7Xd+nS.net mailto: >>366 Ruby # A <= B とする def f(a, b, c, arr, cl = false) return 0 if arr.empty? arr = arr.clone cap, size = arr.shift return a * size + f(a, b, c, arr, cl) if cap == cl [c + a * size + f(a, b, c, arr, !cl), b * size + f(a, b, c, arr, cl)].min end g = -> str {str.scan(/[A-Z]+|[a-z]+/).map{|s| [s.match?(/[A-Z]/), s.size]}} [ '2 3 4 ABCDE', '2 3 4 aBCEe', '2 3 4 XMLHttpRequestEventTarget' ].each{|s| *e, s = s.split; puts '%s => %d' % [s, f(*e.map(&:to_i), g[s])]} # => ABCDE => 14 aBCEe => 13 XMLHttpRequestEventTarget => 57 [] [ここ壊れてます]
421 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 09:42:47.46 ID:v+B1NZPE.net] >>308 2番目の例impossibleじゃなくて S -> 3 -> Gじゃないの?って思ったら入力1行目はH Wだった
422 名前:デフォルトの名無しさん [2020/04/29(水) 16:10:16.80 ID:HpBd3h/I.net] >>271 Java https://paiza.io/projects/RBAyJiWk21BDHF_SnCn1Yg
423 名前:デフォルトの名無しさん [2020/04/29(水) 21:05:32 ID:HpBd3h/I.net] >>234 Java https://paiza.io/projects/grHXWC8LISo50PRjUPDaFA
424 名前:デフォルトの名無しさん [2020/04/30(Thu) 06:48:30 ID:2MGLj+B4.net] >>293 4入力セレクタ digraph g1 { subgraph cluster_1 { label = "Solution_1" aa_1_0, aa_1_0 -> aa_1_6 ; aa_1_1, aa_1_1 -> aa_1_7 ; aa_1_3, aa_1_1 -> aa_1_8 ; aa_1_5, aa_1_1 -> aa_1_9 ; aa_1_7, aa_1_2 -> aa_1_10 ; aa_1_7, aa_1_4 -> aa_1_11 ; aa_1_10, aa_1_8 -> aa_1_12 ; aa_1_11, aa_1_9 -> aa_1_13 ; aa_1_12, aa_1_6 -> aa_1_14 ; aa_1_13, aa_1_0 -> aa_1_15 ; aa_1_15, aa_1_14 -> aa_1_16 ; } }
425 名前:289 mailto:sage [2020/04/30(Thu) 07:15:11 ID:SPWNNB7s.net] >>286 Ruby https://ideone.com/Wz7WFP 2pass化 25%ほど高速化
426 名前:デフォルトの名無しさん [2020/05/01(金) 05:08:54.81 ID:GhPTuZah.net] >>286 EXNORはちょっとおもしろい。 Step 7, Solution 1 0 : -1, -2: 0, 0, 1, 1 : 2 1 : -1, -2: 0, 1, 0, 1 : 2 2 : 0, 0: 1, 1, 0, 0 : 2 3 : 1, 0: 1, 1, 1, 0 : 3 4 : 1, 1: 1, 0, 1, 0 : 2 5 : 4, 2: 0, 1, 1, 1 : 3 6 : 5, 3: 1, 0, 0, 1 : 2 *
427 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 05:42:45 ID:VWVnAecH.net] お題: 関数とパイプを実装せよ 以下のような文字列をパースし、パイプに繋げながら関数を実行せよ 標準入力と標準出力の代わりにバッファを使って実装すること in < "hello" out > hello in < "hello | world" out > helloworld in < "world | hello" out > worldhello in < "hello | upper" out > HELLO in < "hello | world | upper" out > HELLOWORLD
428 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 06:02:49 ID:+MJaN8j/.net] >>416 hello | upperはhelloupperだろ
429 名前:289 mailto:sage [2020/05/01(金) 07:03:56 ID:bMo1YMx1.net] >>286 Ruby https://ideone.com/3qXvX8 一度に 4bit計算 40%ほど高速化
430 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 07:11:29.45 ID:VWVnAecH.net] >>417 upperはバッファを大文字にする関数
431 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 07:20:48.70 ID:kd4VrQns.net] いや、存在する関数を全部定義しないと実装なんてできんやん 突っ込まれて思わなかったの?
432 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 07:55:56.05 ID:VWVnAecH.net] hello, world, upperだけ実装すればいいのでは
433 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 08:08:25 ID:VWVnAecH.net] みんな真面目だなw
434 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 08:25:09 ID:VWVnAecH.net] >>416 書き直し お題: 関数hello, world, upperを実装し、それらをパイプで繋げて実行できるようにせよ 標準入力からコマンドライン文字列が一行ずつ入力されるので、それをパースして上記の関数を組み合わせて実行する 関数の出力と入力には標準入出力を使う代わりに、バッファを使い、コマンドライン全体の実行が終わったら構築したバッファを標準出力へ出力すること 例えば入力されるコマンドラインは in < hello in < hello | world
435 名前: in < hello | world | upper in < world | hello in < world | hello | upper のようになる hello関数はバッファに文字列「hello」を追加し、world関数はバッファに文字列「wolrd」を追加し、upperはバッファ内の文字列を大文字にする関数である よって最終的なコマンドラインの出力は in < hello out > hello in < hello | world out > helloworld in < hello | world | upper out > HELLOWORLD in < world | upper | hello out > WORLDhello のようになる [] [ここ壊れてます]
436 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 08:29:55 ID:R0k5e7Mk.net] hello world それぞれを改行無しの printf などで出力し upper は大きくするだけか
437 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 08:34:39 ID:VWVnAecH.net] >>424 バッファを使わずに標準入出力だけで実装できるならそれでもいいです
438 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 11:04:14 ID:MCEzZFz/.net] Ruby には、まさに文字列(バッファ)に、IO インタフェースを実装したクラス、StringIO がある!
439 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 11:29:05 ID:TOWtsDG5.net] >>423 Ruby $><<$_.split(' | ').reduce(''){|s,e|[s.upcase,s+e][e.ord%-3]}while gets -*- input -*- hello hello | world hello | world | upper world | hello world | hello | upper -*- output -*- hello helloworld HELLOWORLD worldhello WORLDHELLO
440 名前:デフォルトの名無しさん [2020/05/02(土) 23:08:15 ID:MMgV24Hu.net] >>423 Java https://paiza.io/projects/xBPsF7Vihf9x1tS1U1asrQ
441 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 01:19:30.67 ID:SFv1ny6W.net] >>423 Perl5, 要求仕様通り素直に三つの関数を定義し、文字列をparseした単語の関数名を呼び出す形で実装 sub hello { $o .= 'hello' } sub world { $o .= 'world' } sub upper { $o = uc $o } for (<DATA>) { $o = ''; &$_ for /(\w+)/g; print "$o\n"; } __DATA__ hello hello | world hello | world | upper world | hello world | hello | upper world | upper | hello 実行結果 ~ $ perl 17_423_hello_world_upperl.pl hello helloworld HELLOWORLD worldhello WORLDHELLO WORLDhello
442 名前:289 mailto:sage [2020/05/03(日) 07:15:48.78 ID:E6IlR6fn.net] >>286 Ruby https://ideone.com/VDiQyB 枝刈りを強化 38%ほど高速化
443 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 09:17:11 ID:n5Gy3ytY.net] >>427 world | upper | hello
444 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 09:27:35.74 ID:/8opEJBh.net] >>431 ちゃんと"WORLDhello"って出力される
445 名前:デフォルトの名無しさん [2020/05/04(月) 00:23:42 ID:k2FsLwVs.net] >>423 Kotlin https://paiza.io/projects/Opyd7gwTb5jwgD2LANwPeA 文字列を判定して対応する処理をするだけでも良かったが、Map に文字列と対応する処理をセットしてそれを呼び出して実行させるようにした。 また hello, world, upper 以外が入力されるとエラーが出るようになっている。
446 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 00:44:53 ID:Jy1F1UMD.net] また変なTwitterの奴か
447 名前:289 mailto:sage [2020/05/04(月) 07:13:05.12 ID:p+pGQ7l4.net] >>286 C++ https://ideone.com/djJiyu Ruby から移植。実行時間は Rubyより 90倍程度高速化
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();