AtCoder Beginner Contest 148 一人反省会

 

A~Dはとけた、Dはもっとスマートに解けそうなきもするけど

E - Double Factorial
「末尾に何個の0が続くか」かポイント
階乗の末尾0の数ってのをカウントするのは数学であるらしい。

https://www.clearnotebooks.com/ja/questions/573304

とか

http://fukiyo.g1.xrea.com/math-qa/kaijou.htm

みたけど

10で何回割り切れるのか?
10=2×5
なので
素因数分解して2と5がセットでいくつ出てくるか?
入力例1 12×10×8×6×4×2=46080

だと

2で割れるのは、12、10、8、6、4、2の6個
5で割れるのは 10の1個

なので2と5のセットは1個なので答えが1となる

と言う考えを応用するれば解ける。

いや~こんなん気づけないな~。
でも、末尾0で検索したらヒントにはたどりつけたかも。

 

F - Playing Tag on Tree
頂点距離とDFSやBFSによる計算

DFSの参考
https://qiita.com/gogotealove/items/74cb3221228865aebc32

入力のグラフはなんとなくわかったきもするけど
青木君と高橋君の移動するのをどうやって実装するのだろう?

競技プログラミングでの計算量についてのリンク

C,D問題解くと時間オーバーとなるので

計算量について学ぶ

 

良さげな記事はこんな感じ

 

https://nowokay.hatenablog.com/entry/20090106/1231233947

 

 

 

https://qiita.com/cotrpepe/items/1f4c38cc9d3e3a5f5e9c

 


https://qiita.com/drken/items/872ebc3a2b5caaa4a0d0


本にもあったけど普通にやると多重ループになるのはそれを分解しろって解釈でいいのかな

 


先人の教えに感謝しつつ、

まだ理解がついて来ない

Atcoder以外の競技プログラミング

AtcoderのC,Dがとけない。
数をこなすにしても解説読んでもわからないときがあるし
(もっと初心者向けな解説がほしい)
ほかの競技プログラムのサイトは解説がわかりやすかったりするのでは?

と調べてみた。


hackerrank 英語のサイト
https://www.hackerrank.com/

問題の一覧はここから見れる
https://www.hackerrank.com/dashboard

問題にはそれぞれスレッドがあり、回答者が色々と議論をかわしているので
難しいものにはそこからヒントを探るがよいかも。

英語のサイトなので言語のハードルは高い
PCならグーグルのページ翻訳でなんとかなりそうだけど、
スマホアルゴリズムを勉強したいってのに向いてない


ポチポチ問題を解いてくとレートがあがるのは楽しそうだけど、
ちょっと今回の趣旨とははずれるので今は保留にしておく。


exercism
https://exercism.io/ こちらも海外サイト
52言語にわたる3,103のエクササイズと、
熱心なメンターの専任チームとの洞察に富んだディスカッションで、
プログラミングスキルをレベルアップします。運動は 永久に100%無料です。

課題があってそれを提出する方式らしいけど、
AtcoderのC,Dを解けるようになるための課題があるか調べるのが面倒だったので保留


TopCoderも似た感じ


AOJ(Aizu Online Judge:onlinejudge.u-aizu.ac.jp/home)
atcoderと似た感じ
問題に対する解説ページが見つからない・・・。


あれ?そうするとhackerrankで見てみるしかない?

でじたる とらんすふぉーめーしょん

DX

https://www.meti.go.jp/committee/kenkyukai/digital_transformation/pdf/001_haifu.pdf

 


実現に向けて人材が必要って言ってる

 


https://www.mizuho-ir.co.jp/publication/column/2018/itss0420.html

 


IPAの議事録面白い

 


https://www.ipa.go.jp/jinzai/itss/dx_Jinzai_sg.html

 


やってる事例が既存システムの再構築にしか聞こえないのと、対象がカスタマーサポートばかりなのはなぜなんだ?

そしてこれが、DXの課題とあんまり結びつかない。

 


https://www.dhbr.net/articles/-/6187

 


ホスト開発や昔の感覚だと

手作業を無くIT化しましょうって作業効率化してた側から

こんどはDX化することにより効率化される側に回ってるという皮肉

 


ホスト業務のDX化はサーバー化をすっ飛ばしてクラウド化しちゃうぜ

ってのが究極のDXになるのだろうか?

でも、システム刷新ってどちらかと言えば守りの部類だよな。

そうではなく、より新たなビジネスモデルを作るためか、新しいビジネスモデルを実現させるための新しい技術の導入がDXなのかな?

 


今まで運用保守に回してた予算プラスDX用の予算が組まれると予測出来る。

 


人材面で見ると

アジャイル、AI、セキュリティとあるけど

興味があるのはAIだけどAIって

言語にするとPython、Rとかになるのか?

それともいわゆる数学的な知識になるのか?

 


そして、人材の確保って言ってるけど

人材の育成というか、仕事をシフトさせるって

方向性はないんだな。

会社や社会から見たらそっちの方が手間だし

それは個人で頑張れよってことか。

厳しいよね

 


結局のところ、時代の流れに乗って新しいことしますか?

これをしてれば安泰なんてあるわけはなく、

現状維持だと取り残される。

 


昔はIT化で今はDX

 


そこで自分はどこにポジションを置くキャリアプランを描くかってことか

どうせなら変化を楽しめるポジションがいいよな

日本企業のIT化はなぜ進まないかを読んで

日本企業のIT化はなぜ進まないか

DX(デジタルトランスフォーメーション)

https://data.wingarc.com/thinksier-saitomasanori-21967

 

を読んで思ったこと

 


これからの時代はユーザーが求める最適なシステムを構築するのがSIerの役割だった

でも従来通りのやり方が通用しなくなっている

 


BeforDX

①生産性の向上、ITを導入することでのコスト削減

②仕様書通りのQCDを守って情報システムを構築する

③削減コスト(開発のコストは人月が基本なのでこれは人月?)

自ずとシステム開発は安価な外注になる

 


AfterDX

①変化への即応性

②破壊的な競争力

③新たな価値の創出

自社の競争力の源泉となるシステムなので内政する

 


それってAfterDXは今の欧米?でのシステム屋になれば

いいってこと?

いまの閉そく感はわかるが、欧米化するのが正解なのかは疑問?

でも個人目線でいえば、流動性が高いとこが給与が高いので

そっちの流れに乗るのが生存戦略として正しいな

 


ということは、AfterDXに貢献できる人材になるってことだけど

典型的なSIer業界で働いている身としては、日頃の業務の中でどうつなげているか課題だな

 


BeforDXとAfterDXって大企業とベンチャーの違いにも思える

 


大手のベンチャーとかシステム開発で見かけるコンサルなどは

この辺の匂いを感じるのにとても敏感でDXに向けてのコンサルってやっているような気がする。

 

 

 

<以下はまとまらないど浮かんだことメモ>

政府の発表の読んでおこうか

⇒2015年の発表だったりするので、それを受けてもしくはそこの作成に参加して

 今後の時流を察知する

⇒それに合わせた戦略を打っているのが、大手のSIとかコンサルなのかな

技術ファーストというか○○をテクノロジーを使って解決ってのがDX

でも今までのIT化は既存業務のIT化なのでスタートが違う

肌感覚として、従来の仕事が少なくなってきたってのはある。

法改正などはあるけど・・・。

単純なIT化はやりつくしちゃいました。

技術的負債の仕様?ロジック面はサイクルで作り直したほうが継承がされると思う

伊勢神宮が数十年サイクルで作り直している感じ。

業務アプリでいえばコアな考え方や計算方法は変わらない。

でも、それを実現するアウトプットするものは変化する。

昔手紙だったのがe-mailになったりとか(今後はlineになるのか?)

目的は変わらないけど手段は変化する。

ぶっちゃけDXの未来予想ってどうなの?

乗り遅れるとどうなっちゃう?

思うとこはあるけど。うまいこと言語化できない

この特集は面白いので追っかけよう

アメリカのエンジニアってどうなんよって、調べてたら頭がこんがらがってきた

アメリカのエンジニアってのは高給取りである。とかもっと日本もエンジニアに金を払うべきってのをみて。

 

じゃあアメリカのSiってどうなの?

って調べてみた。

 

https://paiza.hatenablog.com/entry/2014/04/02/%E3%80%8C%E6%97%A5%E6%9C%AC%E3%82%82%E7%B1%B3%E5%9B%BD%E3%82%82SIer%E3%81%AF%E5%90%8C%E3%81%98%E3%80%8D%E3%81%AF%E6%9C%AC%E5%BD%93%E3%81%8B%EF%BC%9F%E6%97%A5%E7%B1%B3SIer%E3%81%AE%E6%A7%8B%E9%80%A0

 


求める人材の話はなんか、いまの自分にはピンとこなさすぎて。

ビジネスサイドでの経験がないからなのか?

 


https://blogs.techvan.co.jp/quality/quality-bad

 


どちらの記事でもいっているのが、アメリカは内製でソフトウェア開発をまかなうぜ!!

日本はSI会社に要件を投げるぜ!ってことらしい。

 


これからの時代でアメリカ型になるか?

というと大企業がそうなることはそう簡単にかわらないだろう。

これから生まれるITベンチャーだったそうかもね。

そして、これは想像だけどアメリカ的に内製したいorソフトウェア開発を依頼したいけど

SI会社に払うほど金はないって時に今はやりの副業が狙われるのではと思ってる。

狙われるとは言い方悪いけど、いいことなのか悪いことなのか、

自分の中でいまいち結論が・・・・。

 


悲観的な面ばかりを見すぎかも、

会社に属しつつ安全マージンを確保して、外の会社に触れられるのであれば

とてもいい世界なんだけど。

 


属している会社が副業解禁だぜ!だから給料減らすね。

その会社も安く買いたたくだと地獄だよな・・・・。

 

 

あと感じたのは、日本は分業化をするのが得意?

工場作業みたいに、工程を作って分割する。

 

得意かどうかはなんの数値を見れば判断できるのだろう?


でも、そうする事でそこまで高い教養がなくても仕事ができるって事だよな。

 


だから、一人当たりの単価が安くても何とかなる。

 


結果的にトータルコストがアメリカと比べて高くてなってるかはわかんないけど。

 


そんなことよりは、

自分はどこのポジションを目指すべきか?

という方を考える方が建設的か。


ここは難問だなー。


どんなのがあるのかを把握してないし。

どうゆうことをしたいって指針もない。

 

いや、あるんだけどもうまく言語化出来てない。

 


あれ?俺何考えてたんだっけ?