こんにちわ
グローバスセンス株式会社のskanehiraです。
ぼく自身は凄腕のプログラマでも、まして一人前にプログラマではないですが
プログラムで一番大事なのはアルゴリズムじゃないかなと思っています。(当たり前…)
なぜ?
最初は言語を覚えればプログラムも書けると思っていました。
それは間違いではないが言語はあくまでも手段であって
プログラムを使ってものづくりが目的と思っています。
モノを作るにあたり、仕組みを考えたり
その仕組を実現するためのアルゴリズムを考えたりするので
アルゴリズムを考えれなければモノを作れません。
なので
プログラミングでは言語を覚えるよりもいかにアルゴリズムを組めるか
が大事になってくるじゃないでしょうか。
アルゴリズムを組めるのであれば
あとは言語でできることと出来ないことを把握しておけば
という感じかなと思います。
AOJについて
AOJ(AIZU ONINE JUDGE)ではアルゴリズムの問題をいくつかの言語を使って解いて
ソースを提出することで正解かどうかを判定してくれます。
メモリ使用量や実行時間も正解判定に含まれますので
効率良いアルゴリズムじゃなければ行けないです。
AOJのマニュアルはこちらで見れますので
使い方に困ったら見てみると良いと思います。
AOJを使ってみる
チュートリアルに沿って試しにやってみようと思います。
ユーザ登録は済ませておきましょう。
まずはHello Worldを画面に出力するだけのプログラムを作ります。
問題文を一通り読んだら一番右のアイコンをクリックします。
ソースをアップロードする画面に遷移するので
言語を選んでソースをペタッと貼りましょう。
class Main {
public static void main(String args[]) {
System.out.println("Hello World");
}
}
ソースを貼ったら提出を押下するとジャッジの画面に遷移します。
ここでは提出したプログラムの判定結果が載っています。
結果がAcceptedになっているので、正解ということです。
最後に
こういった競技プログラミングは
1人で解くのもありだし、仲間と一緒に解くのもありと思います。
楽しく、そして解いた時の達成感を感じれるところが成長につながるのではないかなと思います。
今の世の中にはプログラミングを学ぶのに沢山のサービスが存在していますので
今後は素晴らしいプログラマが沢山生まれてくると思います。
置いていかれないように自分も頑張ります。