Revision e0b2d59f-48d2-44dd-8898-99c27f50eb12 - Code Golf Stack Exchange

**javascript, 526 chars**

 function a(b){b=b.split(" ");var c=b.splice(5,5),d=[],e=[],r=[8,9,5,6,1,2,3,10,4,7],A=14,K=13,Q=12,J=11,S={"S":1,"C":2,"H":4,"D":8};for(var i=0;i<5;i++){d.push(b[i].split('')[1]);b[i]=b[i].split('')[0];e.push(c[i].split('')[1]);c[i]=c[i].split('')[0]}function p(cs,ss){var v,i,o,s=1<<cs[0]|1<<cs[1]|1<<cs[2]|1<<cs[3]|1<<cs[4];for(i=-1,v=o=0;i<5;i++,o=Math.pow(2,cs[i]*4)){v+=o*((v/o&15)+1)}v=v%15-((s/(s&-s)==31)||(s==0x403c)?3:1);v-=(ss[0]==(ss[1]|ss[2]|ss[3]|ss[4]))*((s==0x7c00)?-5:1);return r[v]}alert(p(b,d)>p(c,e)?1:2)};

usage:

 a("5H 5C 6S 7S KD 2C 3S 8S 8D TD");


ungolfed:

 function a(b) {
 	b = b.split(" ");
 	var c=b.splice(5,5),
 			d=[],
 			e=[],
 			r=[8,9,5,6,1,2,3,10,4,7],
 			A=14,
 			K=13,
 			Q=12,
 			J=11,
 			S={"S":1,"C":2,"H":4,"D":8};
 
 		for (var i=0;i<5;i++) {
 			d.push(b[i].split('')[1]);
 			b[i] = b[i].split('')[0];
 			e.push(c[i].split('')[1]);
 			c[i] = c[i].split('')[0];	
 		}
 
 	function p(cs,ss){
 	 var v, i, o, s = 1<<cs[0]|1<<cs[1]|1<<cs[2]|1<<cs[3]|1<<cs[4];
 	 for (i=-1, v=o=0; i<5; i++, o=Math.pow(2,cs[i]*4)) {v += o*((v/o&15)+1);}
 	 v = v % 15 - ((s/(s&-s) == 31) || (s == 0x403c) ? 3 : 1);
 	 v -= (ss[0] == (ss[1]|ss[2]|ss[3]|ss[4])) * ((s == 0x7c00) ? -5 : 1);
 	 return r[v];
 	}
 
 	alert(p(b,d)>p(c, e)?1:2);
 };

[source][1]


 [1]: http://www.codeproject.com/Articles/569271/A-Poker-hand-analyzer-in-JavaScript-using-bit-math

AltStyle によって変換されたページ (->オリジナル) /