【paiza】コーディング転職 10社目【AtCoderJobs】

■ このスレッドは過去ログ倉庫に格納されています
1仕様書無しさん
垢版 |
2021/12/02(木) 13:51:51.24
プログラミング問題をコーディングで解いて転職に繋げるサービスについて語るスレ

paiza http://paiza.jp/ (運営会社はギノ)
AtCoderJobs http://jobs.atcoder.jp/ (運営会社はAtCoder)
(CodeIQのコーディング転職サービスは終了しました)

海外での類似サービス(コーディングパズルしたい人向け)
CodinGame https://www.codingame.com/contests/sponsor (←任天堂もあるよ!)
CodeSignal https://codesignal.com
HackerEarth https://www.hackerearth.com/ja/challenges/
HackerRank https://www.hackerrank.com/dashboard

前スレ
【paiza】コーディング転職 9社目【AtCoderJobs】
https://medaka.5ch.net/test/read.cgi/prog/1582773655/
【paiza】コーディング転職 8社目【AtCoderJobs】
https://medaka.5ch.net/test/read.cgi/prog/1570630108/



※スレでの問題のネタバレやヒントは禁止(特別許可されてる問題に関してはこの限りではない)
※スカウトメールは条件に一致した全員に一括送信の手抜きスカウトメールが多いので要注意
※尚、paizaに転職者向け求人を出す企業の目的は『プログラミング全く出来ない求職者らの応募を減らす』である (要するに『足切り』)
※AtCoderJobsの場合AtCoderでratedコンテストに十数回程度の参加が必要(土か日の21時から2時間のコンテスト)
※海外ではコーディングを用いた採用試験をCoding Interviewと呼ぶ
※問題を解けるようになりたいならAOJ(会津大学オンラインジャッジ)やLeetCodeなどの無料サービスを利用して勉強するのがよい

AOJコース
http://judge.u-aizu.ac.jp/onlinejudge/course.jsp#all
https://onlinejudge.u-aizu.ac.jp/courses/list
AOJの始め方 http://judge.u-aizu.ac.jp/onlinejudge/AOJ_tutorial.pdf
LeetCode http://leetcode.com/
552514
垢版 |
2022/06/12(日) 02:15:35.56
>>550
なるほど。
自分は入力値チェックは流石にしてるな。
ログに関しては、デーモン動作させるプログラムやcron等でバックグラウンドでスケジューラ動作させる様なものでなければどうなんだろう?
普段自分が書いてるのはフォアグラウンドで実行させるのが殆どだから、全てstderrに出力させてるんだけど。
自分がよく書くプログラムの類は、かったるい作業の自動化や、数学的なアルゴリズムを用いたもの。
学生時代にオートマトン論のレポート課題提出の為に1週間でEFS(Prologのサブセットの様なもの)をマスターさせられたり、
ペーパー試験対策で1週間でLisp(出題範囲はS式操作と関数定義)をマスターさせられた事を思えば、C言語に似た構文の言語習得はかなり楽だと思ってる。
553514
垢版 |
2022/06/12(日) 03:05:37.93
幾ら何でも >>546 の様なセキュリティ意識の低い企業は、こちらから願い下げ(得られるものが何も無いどころか、かえって害悪)
そんなところが、杜撰なサーバ設定でWordPressのAUTH KEYを誰でも閲覧できる様な状態にしてたり、誰でも閲覧出来る場所に
core dumpさせてハッシュ化されたパスワード等を抜かれて外部から権限の無い人にサーバに侵入されたりするんだろうなwww
以前、どっかのサイトでBASIC認証のパスワード入りのcoreファイルが転がってた事有ったわ
554514
垢版 |
2022/06/12(日) 03:18:56.83
>>551
スクスタやスクフェスがよくクラッシュするのは、つまり防衛的プログラミングや契約プログラミングを行っていないからという事ですね
タイクレのWEBアプリも酷かったなぁ(無償コインではプレイ出来て、有償コインだとプレイ出来ない糞仕様で、こっちが2000円も金払ってバグ報告)
2022/06/12(日) 06:11:38.90
関係ない話題を長文で連投する人をみると
コミュニケーションに問題があって仕事が得られないんじゃないかと思ってしまうわ
2022/06/12(日) 06:42:35.83
「入力値チェックをした場合、個人情報が洩れる」
ってのはどうやって防ぐの?

ニュース報道では「存在しない番号で予約ができる事」、「個人情報が洩れる事」を天秤にかけて
個人情報保護を優先したって事になってるけどさ
557仕様書無しさん
垢版 |
2022/06/12(日) 12:02:39.83
>>555
514とは一緒に仕事したくないなと思うのはそれはそう
2022/06/12(日) 15:04:29.57
>>514
重みかけてならすわけかLanczosの関数が肝なんだな
面白いね

機械学習のconvolutionに似てるのかっていうかそもそも数学的に同じアイディアか
どれだけ自力でやったのかわからないけどバカにはインプリメントできないね

コードは未経験だね

forがネスト4つはやばいしさらにそれでinitializationのiとかxでやりたいのはわかるけど名前が被ってわけわからなくなってて結果謎のnとかも入ってるでしょ

forは普通に1から6とか分かりやすく書いて、その中で必要な値は計算したほうがわかりやすい

ターゲットのピクセルごとに一つ一つピクセルを計算していく、という部分と、そのピクセルの周りを3x3で取って重みをかけていくという部分は分けて何をやっているかわかるように書かないと人が読む時に物凄く難しいし、バグがあったら見つけにくいし、自分でも1年後に見たら分かりにくいんじゃないかな

Pythonの方もせっかくFinallyなのにそこはpassだけどせっかくリソースが2つ開いてるんだから、そこにcloseする処理を入れたほうがいいというか、そのためのFInallyなんだよね

関数一つを書く力はあると思うしそのロジックをインプリメント出来ない人もたくさんいると思うので新人としてはやれると思うけど、あとはそれ以外の部分かな

関数一つって数百数千あるパーツの一つに過ぎなくて数百数千をどうやって作るか、組み立てるか、テストするか、とか量子力学をやってた人と同じ時間かけて考えてる人がいるわけだから
2022/06/13(月) 00:33:17.07
変な人がどんどん集まって来ちまったな・・・
2022/06/13(月) 07:15:06.13
>>554
>>558

こちら無関係な長文を垂れ流すアスペの見本にございます
561仕様書無しさん
垢版 |
2022/06/13(月) 12:44:46.10
やっぱ今不景気だろ
全然受からん

どうすればいい
2022/06/13(月) 14:25:34.75
気になる一覧がチームラボまみれ
563仕様書無しさん
垢版 |
2022/06/13(月) 14:32:39.06
>>562
ほんまそれ、定期的にスカウト投げてくる
564514
垢版 |
2022/06/13(月) 18:19:52.45
>>558
お忙しい中、非常に貴重なアドバイス有難う御座います。
リファクタリングに挑戦してみます。
565仕様書無しさん
垢版 |
2022/06/13(月) 18:39:03.75
チームラボは絶対未経験取らないよ
面接は無駄
2022/06/13(月) 19:47:41.71
え、もしかしてここの人らみんな未経験なん?w
567仕様書無しさん
垢版 |
2022/06/13(月) 20:30:46.83
>>566
そんな事言ったら今の経験者は未経験の時代はなかったことになるがいいか?
もっと言うと最初のIT事業始めた人は未経験者じゃないって事になるが?
2022/06/13(月) 21:06:05.74
>>566
経験40年だけど採用される?
2022/06/13(月) 21:31:00.75
お前ら新卒採用はコネ採用ばかりで驚くぞ
2022/06/13(月) 21:45:05.02
中途はコネだけど新卒でコネなんて少ないよ
コネで採りたいけどそんな都合よくいないよ
2022/06/13(月) 23:10:01.20
>>569
あなたの妄想ですよね
2022/06/14(火) 01:34:19.64
>>564
いえいえ仕事やる気出なかったのでw
BitmapがMacで使えなかったのでSkiaSharpっての使ってほぼ書きなおしになっちゃったけど
ザッと書くとこんな感じ?
https://github.com/774g0mb31/lanczos/blob/main/lanczos/ImageResizer.cs

weightはトータルでほぼ1になるように関数がなってるはずなので割ってない
端っこもはみ出たら縁を2度取りしないで無視するようになってる

オブジェクトの分け方としてはかなり細かく分けることが多い
ネスト4つで中が300行とかだと絶対に何か言われるか、言われなくても心の中で思われる

C#とかMSの物滅多に使わないからその辺の作法は怪しいかも
ポインター使えるのも初めて知った
573514
垢版 |
2022/06/15(水) 01:17:23.01
>>572
誤解を招く様な切り貼り方をしてしまいました。
幾ら何でも4重forループの中身だけで300行なんて事は有りません。
Lanczos関数を使うと、結果として画像の縮小と拡大がほぼ同じ様な処理になってしまいましたが、それぞれはこんな感じです。
https://i.imgur.com/D8NtIN5.png
https://i.imgur.com/IrSCJ8F.png

C#で画像のビットマップ操作をする際、unsafeモードにしてポインタを使わないと、絶望的に遅い(遅かったので調べたらこの方法に辿り着いた)です。
Lanczos3関数を使おうと思った理由は、当時(2014年頃)のGimpの画像リサイズメソッドの選択肢の一つにLanczos3が有り、
リサイズ後の品質にも満足してたからです。Lanczos関数の使い方(数式と図で書かれてた)はググって調べました。
2022/06/15(水) 06:52:55.15
>>573
ああなるほど、なんでShrinkなのかと思ったら拡大と分けてあるのか
見たとこiとjの2と3が括弧に入ってるか入ってないかの違いのようだけどこれはなぜでしょう?
最初にShrinkを書いてEnlargeをやったらOut of Rangeが出たからとか?
2022/06/15(水) 08:12:43.51
確かにそもそもアルゴリズムがW*H*5*5なのは避けられないので遅いですねー
Parallelでマシになったけど

O(N)の計算とか基本なのでその辺出来るとおっ?って思うかもですね
576514
垢版 |
2022/06/17(金) 00:47:30.64
>>574
座標を整数ではなく、0.5とかにしたのは、当時参考にしたサイトによる影響です。
https://web.archive.org/web/20150410050105/http://www.maroon.dti.ne.jp:80/twist/4C616E637A6F73B4D8BFF4A4CBA4E8A4EBB2E8C1FCA4CEB3C8C2E7BDCCBEAE.html

縮小(Shrink)では、リサイズ後の座標に比率を掛けてリサイズ前の座標に対応する、計算対象となる前後の対象範囲を求めてます。

From: (int)Math.Floor(scaleFactor * (x - 2))
To: (int)Math.Floor(scaleFactor * (x + 3))


Enlargeの方は、バグかな?と思ったのですが、Shrinkを用いて極端な拡大(例えば100倍)を行った場合、モザイク状になってしまうところ、
偶然、丁度良くスムージングが掛かった画像が得られ、見た目もこちらの方が好みなので、そのままにしておきました。

From: (int)Math.Floor(scaleFactor * x) - 2
To: (int)Math.Floor(scaleFactor * x) + 3
577514
垢版 |
2022/06/17(金) 08:05:29.60
多少無駄な計算を行う事になるかもしれませんが、Enlargeの方の重み計算対象範囲を、

From: (int)Math.Floor(scaleFactor * (y - 2) - 1)
To: (int)Math.Floor(scaleFactor * (y + 3) + 1)

にしたら、かなり改善されました。
2022/06/17(金) 08:15:28.62
>>576
そのロジックって手前味噌ながら僕のコード見て貰えばわかると思うけど、まずターゲットのWxHのサイズで仮想的なピクセルの絵を作って、次にそのピクセルごとにソースの絵の対応するピクセルを求める(Factorを掛ければ出る)

そしてそのソースのピクセルの周りを前後左右に2個づつ、計5x5(僕のコードはkが可変なのでkが3の場合)のウインドウでとって重みをかけて合わせたものをターゲットのピクセルにセットするものなので、括弧に入れてしまうとおかしなところからサンプリングすることになりますね

例えば10倍に拡大する場合、x(ターゲットの横幅)が30の位置だとソースの3+-2で1から5を取りたいのに、それだと2から3までを取ることになるので滑らかにするロジックが効いてない(2x2になってしまっている)ですね
ガタガタするのはそのせい

Enlargeの方はそこは正しいですけど、真ん中のターゲットを中心に5x5(あるいは7x7など)で正方形にするはずが、左と上に2、右と下に3ずつとズレて取っているので、+するのは3じゃなくて2が正しいですね

僕の方のコードは同じロジックで拡大縮小、アスペクト比の変換全部カバーしてます
まあ僕のというか元のアルゴリズムが

コンパイルしてやってみるとわかると思いますカーネルのサイズも変えられるし
どっか間違ってたらプルリクくださいw
2022/06/17(金) 08:18:44.79
無関係な話題続けるアホはどっかいけ
2022/06/17(金) 08:36:42.63
元々就職の話なので無関係ではないですね
気になるのは関数を実装する部分ではなくて、OOPでパーツにバラすやり方とかそういう話なので
2022/06/17(金) 08:40:25.42
というわけでw
>>577
>(y - 2) - 1
>(y + 3) + 1
これで改善されたのはなぜか>>578でわかりますよね
2と3しか取ってなくてほぼ滑らかにするロジックが効いてなかったのが、1と4になったからです

まあこんなもんで
2022/06/17(金) 11:29:47.30
最初は多少同情したけど、この振る舞い見てると無職で苦しんでるのは当然としか思えん
他人の迷惑考えろ
2022/06/17(金) 11:33:20.03
君が何にキレてるのかは君が言わなきゃわからないからなあ
2022/06/17(金) 11:53:54.43
>1
>プログラミング問題をコーディングで解いて転職に繋げるサービスについて語るスレ

スレ違いの話題は他所でどうぞ
2022/06/17(金) 12:12:00.67
>プログラミング問題をコーディングで解いて転職に繋げる

日本語って難しいねえw
2022/06/17(金) 12:12:09.43
こちらにどうぞ
https://qiita.com/
2022/06/17(金) 12:42:15.69
ご自由にどうぞ
2022/06/18(土) 03:34:45.83
やっぱコーディングスキルのみで転職先を探そうとする人は性格に難アリな人が多いのがこのスレ見てて思う
採用側はエージェント経由が無難
2022/06/19(日) 10:54:29.51
大手のエージェント経由だと待遇は下がる
なぜなら、企業側が何かしら問題を抱えているのでエージェント経由で募集しているから
2022/06/19(日) 10:55:46.84
大手のエージェントの仕事紹介内容は転勤範囲と残業時間は誇張しまくっている
例えば、「転勤はほぼない」と言っていたのに、入社後に引っ越しさせられるなど
2022/06/19(日) 13:22:59.45
>>294
faqにランクが下がることはないって書いてあったよ
レーティングは下がるけどね
2022/06/21(火) 00:18:12.42
>>514,521
返事が遅れて済まなかったな
俺はSランクで一応有名大理系院卒

Aは普通に狙えると思う
A問題の開封はそこまで気にしなくていい
からとにかく解いていこう

モチベーションが余ってたらatcoderやってSランク目指す
S問題の開封はatcoder始めて自信がつくまで絶対にしないこと
開封しないことを徹底すれば数ヶ月でSも有り得る
593仕様書無しさん
垢版 |
2022/06/23(木) 22:46:54.96
Sにすらなれないならば基本的なアルゴリズムすら書けないのと同様なので諦めたほうがいい
594仕様書無しさん
垢版 |
2022/06/24(金) 17:01:57.32
あっとこのインフレがおかしいのかPaizaが簡単すぎるのか知らんけど灰色上位くらいあれば楽にS取れる勢いだよね
595仕様書無しさん
垢版 |
2022/06/24(金) 18:03:50.77
atcoderは算数パズル色が強すぎて、IT,プログラミング的にはもう灰色上で十分って感じになってる
2022/06/25(土) 02:17:39.14
ABCなら大して算パズ感ないやろ
2022/06/25(土) 02:31:12.43
paizaBランだけど700~1500万のゴールデンスカウトくるな
598仕様書無しさん
垢版 |
2022/06/25(土) 02:41:39.28
Sだけど生活保護抜け出せる気配がないw
2022/06/25(土) 06:59:58.65
人類の損失じゃん
2022/06/25(土) 11:00:17.83
ITコンサルや上流工程はプログラミングできないエンジニアが大半だよ
601仕様書無しさん
垢版 |
2022/06/26(日) 10:13:30.12
上流工程でプログラミングかけないとか何やるんだ、適当な要件定義だけするんか?
2022/06/26(日) 11:28:20.35
プログラミング経験ゼロで上流工程だけやっている人はたくさんいるから、上流工程の業務内容はプログラマのキャリアとの関連性は薄いということが判明している
603仕様書無しさん
垢版 |
2022/06/27(月) 02:06:58.54
SIerとかコンサルとか商社とかしょーもない連中が資本主義の上流工程wにいたり、行政と近くて補助金を搾取しやすかったりする構図はほんと何とかしたほうが良い
604仕様書無しさん
垢版 |
2022/06/27(月) 13:41:59.49
要件定義も経営陣の前で激詰めされながらプレゼン、顧客折衝や社内の調整で朝から深夜まで打ち合わせとかザラらしいから楽じゃないよ
605仕様書無しさん
垢版 |
2022/06/28(火) 11:40:56.16
アマチケキャンペーンやってるぞ
2022/06/28(火) 16:26:24.84
上流やっていると知識が抜けてプログラミングできなくなる
2022/07/02(土) 23:50:22.69
現実は設計フェーズもプログラマ経験ゼロの人がやっている場合が多い
貧乏人にプログラミングというパズルのような製品を与えて金をだまし取っているだけなんじゃないかと疑っている
60832
垢版 |
2022/07/03(日) 03:53:30.37
発注側も情弱ばかりだから茶番でカネが動く。都内のオフィスはビジネス貴族の幼稚園。
2022/07/03(日) 10:59:26.43
顧客折衝の業務はプログラミング知識ゼロでもできるし、知識なしでやっている人が非常に多い
これ豆知識な
2022/07/03(日) 11:52:48.64
老舗の自社開発は思った以上にDQNが多いと感じられた
エージェント曰く、特定の分野しかやらないので頭悪い人が多いらしい
2022/07/07(木) 10:48:16.61
プロフィール未記入なのにスカウトメールで経験豊富なの褒められて笑った
2022/07/08(金) 00:27:35.71
いちいちメッセージ真に受けちゃうピュアな人、結構多いことを知った
613仕様書無しさん
垢版 |
2022/07/08(金) 01:19:49.47
こういうのは全部テンプレートがあって必要な場所を自動で埋めてメール出してるだけだしね
2022/07/11(月) 16:46:18.41
だーれもコードに関しては見てない
まじでコーディング問題する意味がない
良い仕組みだと思うけどIT後進国ジャップじゃ早すぎたか
2022/07/13(水) 21:39:07.39
スカウトメールはまあ参考になるね
大手企業になるほど社員は技術的な仕事をしなくなるからミスマッチ率が高くなる
61632
垢版 |
2022/07/13(水) 21:57:06.12
日本的大企業正社員≒共産主義を謳って搾取するだけの転売ヤー
2022/07/13(水) 22:00:05.53
大企業正社員だとガチで人員管理と顧客折衝の仕事がほとんどになる
エンジニアらしいことはしない
618仕様書無しさん
垢版 |
2022/07/14(木) 11:45:45.40
マッチしてないのばっかり来てマジ困るわ
2022/07/14(木) 20:56:14.12
ぜいたくいうな
620仕様書無しさん
垢版 |
2022/07/15(金) 18:27:04.54
『面接でコーディングの問題を出されたときの対処法』
https://web.archive.org/web/20220706052212/https://qiita.com/shtrkmd/items/35fd4117736b57d8a444

> const collection = [1, 2, 4, 5]
> const x = 8
>
> function solve(collection, x) {
>   const length = collection.length
>   for (var i = 0; i < length - 1; i++) {
>     const element = collection[i]
>     const rest = collection.slice(i + 1, length)
>     for (var j = 0; j < rest.length; j++) {
>       if (element + rest[j] === x) {
>         return true;
>       }
>     }
>   }
>   return false;
> }

↑こんなコード書いてる人がプロフィール見ると

https://qiita.com/shtrkmd
> 📍東京
> 🏢Microsoft

とあって驚いたのだけど就職とコーディング能力って関係ないんじゃないか?
2022/07/16(土) 00:56:32.14
>>620
グーグル公式の面接紹介で出るやつだな

最初にこれを出してから両端からずらしてくアルゴリズムにするんだけど、これの難しいのはアルゴリズム自体じゃなくてこれを喋りながらこういうケースなのでこういうアルゴリズムでO(N)はどうでエッジケースはとか面接相手に話して説明しながらやるのを何セッションも1日中やるところ
2022/07/16(土) 00:57:39.35
問題もこれは紹介で出してるように素人さん弾くための触りの挨拶くらい
まあそのMSの人がエンジニアなのかそもそも知らんけど
623仕様書無しさん
垢版 |
2022/07/16(土) 01:15:13.24
>>614
1社だけコードみて、ちゃんと書けてるねーって言われたことあるな。
競プロで使ってるライブラリ貼るだけ問題だったんだけども
624仕様書無しさん
垢版 |
2022/07/16(土) 02:26:57.52
競プロってもう自分用のベースコード作ってる人多いとか聞いたが、自分用ライブラリとか作っておいてあとはちょこっと変更するだけって感じで
625仕様書無しさん
垢版 |
2022/07/16(土) 21:13:48.93
>>620
まず問題がおかしい。何を言っているのかわからないので、何をしてもらいたいのか確認するのが先。
626仕様書無しさん
垢版 |
2022/07/16(土) 21:16:34.42
問題文の解釈ありきの問題w
2022/07/16(土) 23:17:06.58
>>622
https://mobile.twitter.com/shtrkmd/status/1545687714921852929
> 入学してからは切り替えて努力した結果、世界一のソフトウェア会社の開発エンジニアになれた。

世界一のソフトウェア会社の開発エンジニア様だゾ
https://twitter.com/5chan_nel (5ch newer account)
2022/07/16(土) 23:43:37.92
> まず問題がおかしい。何を言っているのかわからないので、

↑こういう人を切るには有効な問題w
629仕様書無しさん
垢版 |
2022/07/17(日) 00:00:18.00
>>624
PaizaSランクぐらいまではだいたいそんな感じで解けがち
630仕様書無しさん
垢版 |
2022/07/17(日) 01:20:22.69
>>628
共通の前提がある状態は危険だぞ
631仕様書無しさん
垢版 |
2022/07/17(日) 02:58:34.05
https://twitter.com/shtrkmd/status/1547224374323064832
> というわけでひっそりとdiscordのサーバー作ってみた。人入ったらコンテンツ考えます。

サロン的なところへ誘導したいみたいなのでそういう商売なのかなと思う。

2022年のJSのコードでvar使うとか正気とは思えないので技術的なところは
なんちゃってなんだろうな。騙されるやつが馬鹿。
https://twitter.com/5chan_nel (5ch newer account)
2022/07/17(日) 23:51:41.61
var使うのはアレだけど正気がどうこうとか思考が極端過ぎる人の方が近寄りたくない
レビューで毎回顔真っ赤にしてそう
633仕様書無しさん
垢版 |
2022/07/18(月) 00:39:11.30
「正気とは思えない」という個人の感想を許せない人が相手に対して「思考が極端過ぎる人」という言葉を平気で使い「レビューで毎回顔真っ赤にしてそう」とレッテル貼りまでしてるのは正直オモロイw
63432
垢版 |
2022/07/18(月) 00:39:54.49
能力低いマンは、些細なルールの知識でマウントしがち。下の方で二分探索を使ったコードを書いてるので問題なく、こっちの方が脳力的に重要。
2022/07/18(月) 00:45:52.42
> 下の方で二分探索を使ったコードを書いてるので問題なく、

二分探索のコードもそうだけど無駄にsliceしてる時点で無脳力感丸出しなんだけど?
しかもsliceの第2引数の値間違えてるなw
2022/07/18(月) 00:48:14.47
本人が消した記事みたいだし拙いとこがあったと本人自身が認めてるってことでしょ
2022/07/18(月) 00:54:19.35
二分探索使えばnlog(n)にできるみたいこと書いてるけど、sliceのコスト考えてないみたいだし
こんなこと面接官に言ったらニワカなの丸バレするだろ。
つかnlog(n)じゃなくてnする方法説明するよな普通は。
2022/07/18(月) 00:58:41.25
Qiitaにこんなツッコミどころ大杉な記事放置してたらコメント欄えらいことになるもんな。
記事削除は正解。投稿したのが失敗。
2022/07/18(月) 01:07:09.80
面接でコーディングの問題って面接官はアルゴリズムの善し悪しなんかより「分かって書いてるか」を重視してる筈なので「var使ってるのは何でですか?」とか聞かれて納得させられる返答できないとAUTOよね。
640仕様書無しさん
垢版 |
2022/07/18(月) 01:14:44.82
こんな職人を必要とする仕事は少ない。
641仕様書無しさん
垢版 |
2022/07/18(月) 01:15:33.33
外国だと少しおかしいくらいがちょうどよいとされる。
2022/07/18(月) 02:19:19.44
sliceのコストが気になったのでsliceしない版書いて比べてみた。

function solve(collection, x) {
  const length = collection.length
  for (let i = 0; i < length - 1; i++) {
    const element = collection[i]
    for (let j = i + 1; j < length; j++) {
      if (element + collection[j] === x) {
        return true;
      }
    }
  }
  return false;
}

配列の要素数は10万件で比較した。

sliceする版(オリジナル)
https://wandbox.org/permlink/WWm0m6bF9xAFJUYA
> true
> 18.453796361923217sec.

sliceしない版
https://wandbox.org/permlink/klQCUX0hMV76rBak

> true
> 3.1008248338699342sec.

案外差が大きい。
バイナリサーチに変更したところでsliceのコストは変わらないから焼け石に水かな。
64332
垢版 |
2022/07/18(月) 02:52:44.25
スライスはいかんですね、よく使う言語が参照でO(1)だったとかじゃない限り弁護できないw
しかし、現職者に二分探索みたいな高級品wがわからない人は多々いるし、低知能揃いのSIerとかコンサルの中抜転売ヤーよりは全然マシですね。
2022/07/18(月) 06:20:20.42
>>641
主語がでかすぎる
645仕様書無しさん
垢版 |
2022/07/18(月) 07:21:56.67
コーディングの速さはあまり重要ではない
2022/07/18(月) 08:51:04.88
大きいSIerだとプログラミングを仕事で使うのは5%もない。0%のところもある。
電話対応が中心だから他業種の営業職に近い業務内容
2022/07/18(月) 12:14:59.69
ローコード時代だからコーディングできる人の需要は減ってきている
案件消滅が激しい
2022/07/18(月) 12:49:55.48
従業員が1000人以上のところに応募するとプライバシーに関する質問が7割超える
2022/07/18(月) 13:10:19.59
バイナリサーチを書いて件の記事のコードに組み込んでみた。

function binarySearch(array, key, min = 0, max = array.length - 1) {
  while (max >= min) {
    let mid = Math.trunc((max + min) / 2);
    if (array[mid] > key) {
      max = mid - 1;
    } else if (array[mid] < key) {
      min = mid + 1;
    } else {
      return true;
    }
  }
  return false;
}

sliceする版(オリジナル準拠)
https://wandbox.org/permlink/JrC7yRglvTzgf6QV
> true
> 13.948303822994232sec.

sliceしない版
https://wandbox.org/permlink/8Wlz9xHvu9F0wABd
> true
> 0.01374333906173706sec.

やっぱsliceするコード書くのはアホだわ。
2022/07/18(月) 13:15:15.00
ついでに、O(n)で済む方法も考えてみた。

function solve(collection, x) {
  let flag = [];
  const length = collection.length
  for (let i = 0; i < length; i++) {
    const element = collection[i]
    if (flag[x - element]) {
      return true;
    }
    flag[element] = true;
  }
  return false;
}

先の例と同じ条件で試した結果
https://wandbox.org/permlink/gAF18WKdTkUiFslw
> true
> 0.005464389801025391sec.

まあ一番速い罠。
配列の内容の値の範囲が広い場合は連想配列を使えば良いかな。
2022/07/19(火) 08:29:44.71
>>634
> 能力低いマンは、些細なルールの知識でマウントしがち。下の方で二分探索を使ったコードを書いてるので問題なく、こっちの方が脳力的に重要。

「二部探索」という言葉にびっくりして思考停止したのかな?
無用なsliceに気づかないのは脳力低そうですね。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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