2010年02月19日

TopCoder

TopCoderたるものをまわりの人たちがやっているので自分もやろうかなと



TopCoderとは

Web上で、世界中のプログラマが参加するプログラミングコンテストを主催している企業。Google Code JamはTopCoderのシステムを利用して行われている


はてなより:http://d.hatena.ne.jp/keyword/TopCoder




プログラミングコンテストのことですね




で、いい成績をとるとその人はRedCoderと呼ばれるらしい・・・



アメリカではこのTopCoderのスコアが一つのプログラミングスキルの指標になるらしく就職でも有利に働くとかなんとか



RedCoderの人がグーグルにお呼びがかかったなんて文章もどっかで読みました



で、使用できる言語はC++かC#かJavaかVBなんですが自分はJavaでも新たに勉強しようかなと考えてます



なんだか参加者はC++が圧倒的に多いみたいですが自分はJavaで






Cを書くことはある程度できるのですが、ここは心機一転です



理由は特にないんですがw



で、早速


http://www.javadrive.jp/index.html





こちらのサイトで勉強をする




やっぱりほんのりActionScriptに似ている







しかしJavaは配列を動的確保できないのかな・・・と習いたての時点では感じてしまう



Cでいうところのreallocのような関数が




個人的には配列の要素数の宣言が苦手だw





array[1000]は要素数足りるのかな?いやもしかしたら多すぎるのか?とか



そりゃもうたくさん宣言しとけば間違いないけどどこかで無駄が生じてると思うと落ち着かないしもちろん無駄があることはよくないことだ




調べてみたらあった:動的配列確保 - 教えて!goo
http://oshiete1.goo.ne.jp/qa520357.html




Arraylistというクラスにadd()というArraylistの最後尾に追加するメソッドが用意されてるわけですね



ただ扱えるのはオブジェクトのみ




つまりラッパークラスとかいうやつの出番?なんだかまだ勉強したばかりでよく分からないけどそう思っておこう




ActionScriptならpush()です。こちらはただ配列の最後に要素を追加できるので簡潔です



Arrayクラスにadd()みたいなメソッドは存在しないのかなぁ。面倒だ。





それか上記のURLにも載ってるけどSystemのクラスに用意されてるarraycopy()メソッドを使うとか


上記URLから引用
int[] a = int[10];
...
int n; //必要な要素数。aの長さより大。
int [] b = new int[n];
System.arraycopy(a, 0, b, 0, a.length);//元の配列の内容をコピー
a = b; //b配列をa変数に代入




これを見るとJavaにもポインタ要素がある気がしなくもない



a=b;なんかは配列に配列を代入してますけどそんなことってあり得ないしこれって配列の先頭要素のアドレスを渡してそう



おそらくbの一番目の要素b[0]を変更するとa[0]も同じように変更されるんだろう




Javaを楽しみたいです^q^




とにかくJavaを使ってTopCoderに参戦してみようと思います





pythonも興味あり


PythonでHello Worldは

print"Hello World"


こんなシンプルなHello World初めてですw



あ〜いろんなことやりたくて困る。時間が欲しい

 





この記事へのコメント

name:

mail:

HP:

comment:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/141570127

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。