読者です 読者をやめる 読者になる 読者になる

TopCoderに登録し競技プログラミング始めます

最近プログラミングから遠ざかってしまい

興味のある分野は常に磨いておこうと思い

機械学習のプログラミングをしようとKaggle界隈をうろつき始めましたが

TopCoderにも同様のデータサイエンス系の課題が存在するという事で

よりプログラミングに寄せたコンペに参加出来る環境を見つけました。

肩慣らしにこのあたりの過去のものから遊んでいます。

 SRM 570 Div2 Easy | TopCoder SRM Div2解説

 

適当なサイズの箸が複数個ある場合

使える箸の個数を数えろという話のようなので

乱数で1-10までのサイズの箸を作って

セットになる同じサイズの箸の個数を数え上げるメソッド作ります。

下記のサイトで問題だけ読みました

とりあえず乱数で適当なサイズの箸を作ります。

同じサイズの箸のペアの個数を数えればクリア

まだ実装できてない。

とりあえずソートしてサイズ毎で本数を数え上げれば良いのだろうけど

競技プログラミングなのでメモリの使用量やアルゴリズムの速度には拘っていきます。

 

 

javaはあんまやってないけどプログラミングはオブジェクト指向の思想と

アルゴリズムがわかってれば、あとは部品を調べながら組んでいけるものだと思います。

 

-----------------作りかけ、箸のサイズを作る--------------------------

import java.util.Random;


public class Chopsticks{
public static void main(String args){
int i=0; //ループ変数i宣言
int length
; //はしの長さを要素に持つ配列宣言
length = new int[50]; //上記の配列の初期化

while(i<50){
Random rnd=new Random();
int ran=rnd.nextInt(10);//0-9までの乱数を生成
length[i]=ran+1;//1-10までのはしの長さを要素に代入
System.out.println(length[i]);//標準出力へ長さを出力
i++;
}
System.out.println(getmax(length));//getmax()は使える箸のセットを返すメソッド
}

public static int getmax(int[] length){//仮の処理です。次回に作ります。
return length[49];
}

}