Match627 DIV2 250

問題概要

複数の長さが異なる棒が与えられる。
一辺が一つの棒からなる正方形をいくつ作ることができるか出力せよ。

提出コード(C#)

class ManySquares
{
	public int howManySquares (int[] sticks)
	{
		Dictionary<string, int> dic = new Dictionary<string, int> ();
		int ans = 0;

		for (int i = 0; i < sticks.Length; i++) {

			if(dic.ContainsKey(sticks[i].ToString())){
				int val = dic [sticks [i].ToString()];
				val++;
				if (val % 4 == 0) {
					ans++;
				}
				dic [sticks [i].ToString ()] = val;
			}else{
				dic.Add (sticks [i].ToString(), 1);
			}
		}

		return ans;
	}
}

問題解法

key-valueテーブルを使用し、
keyを辺の長さ、valueを棒の個数とした。