文系からエンジニアになった26才ですが、正直アルゴリズム問題が苦手です。
fizzbuzzとかフィボナッチとかはまあわかるんですが、より高度になってくるとわからないことも多々あり。。。
理系とか情報学部とか出てる方って練習とかせずにパパッと解けてしまうものなのかと思い、そういう人たちとこれからどう戦っていけばいいか時々不安になります。もちろん練習問題をときまくるというのも一つの手ですが。。。
こういう素養というか本来的な素質が足りないと感じたとき、皆様はどう対応していたか、もし実体験等あればお教えいただきたいです。
何卒よろしくお願いします。
>理系とかcsとか
この場合の「cs」とは何でしょうか。
そして、何を目指しているのでしょうか。
実務においてアルゴリズム問題を解くような場面って試験でも受けない限りないかと思うのですが。
> fizzbuzzとかフィボナッチとかはまあわかるんですが、
これらが本当にわかるなら(つまり応用問題を自分一人の力で何も見ず解けるなら)素養はあります。わかったのではなく覚えただけなら未来はありません。
FizzBuzz で、通常の出力にくわえてさらに 2 の倍数の時だけ「!」をくわえてみてください。たとえば 6 なら Fizz! になります。
> m.ts10806さん
言葉足らずですみません。csはコンピューターサイエンスです。日本で言えば情報学部とかです。
目指すという意味でいくと、海外に出てエンジニアをやっていきたいと考えています。レイヤーは特にまだ決めておらずフロントでもインフラでもやっていくつもりです。試験でも受けない限りないとは思いますが、優秀なエンジニアはみんなアルゴリズムが得意なような気がしたので。。。
>Zuishinさん
ありがとうございます。本当にわかっているのかの判断が自分では難しいですね。。。FizzBuzzはやってみます。何もみずに解けるかは問題によりけりですね。。。もちろんその後答え見たときに理解しようと努めてはいます。
アルゴリズムを学習したいのでしたらAtCoderがオススメです。
競技プログラミング=競プロと呼ばれているものです。
実務に直結するかどうかは別としてご存知無いなら一見の価値はあるかと思います。
(私は実務では無く趣味として勉強してる程度の者なのであしからず)
質問は編集できます。
CS 非常に多くの意味があります(IT業界に限っても)
https://ja.wikipedia.org/wiki/CS
変に略さずきちんと書いたほうが良いでしょう。文脈から読み取れないケースも多いです。
> mjkさん
ありがとうございます。見てみます。
>m.ts10806さん
修正しました。申し訳ありませんでした。
アルゴリズム限定の話か
>hentaimanさん
アルゴリズム限定ではなく、エンジニアとしてのそもそもの素質的な意味合いですね。その一例としてアルゴリズムを出させていただきました。
>エンジニアとしてのそもそもの素質的
質問の内容で方向性が決まります。
タグにもタイトルにも「アルゴリズム」とあり、質問内容もアルゴリズムに特化した内容になっているので、「エンジニアとしての」と思う人はそこまでいないのでは。
ただ「エンジニアとしての・・と」となると意味が広すぎて、プログラミングとは直接関係なくなります。
聞きたいことは変に例えたり隠したりせず、ストレートに書いたほうが良いでしょう。見ている人は質問者の人となりも事情も前提も何も知らない赤の他人です。
プログラミングを「する」、コードを「書く」だけがエンジニアではないですしね。
m.ts10806さん
ご指摘ありがとうございます。。。
確かにそうですね。。配慮が足りなかったと反省しております。
> 高度になってくるとわからないことも多々あり。。。
これは「できない」ですか?
「時間がかかる」ではなく?
think49さん
たまに答え見て、あーそういうふうにやるのかってなることがある感じですね。。。時間かけてもわからない時はわからないです