자바 스크립트-171 자 (5/2/14)!
for(h='00';+h<24;h=(++h<10?'0':'')+h)for(m='00';+m<60;m=(++m<10?'0':'')+m)if(h[1]+h[0]==m||h==m||+m[1]-m[0]==1&&+m[0]-h[1]==1&&(!+h[0]||+h[1]-h[0]==1))console.log(h+':'+m)
나는 골프를 심각하게 중단하고있다. 지금부터 되돌아 보면 거의 30자를 줄였습니다! JSBin .
Ungolfed (및 의견) :
// Note: +'string' is same as 'parseInt(string, 10)'
// Also, this code is not the shortest one, I have purposely made this code longer for
// understanding purposes
for(h = '0'; +h < 24; h = +h + 1 + '') //initialize h(our), loop while it's less than 24
{ // increase it by 1 and cast back to string
for(m = '0'; +m < 60; m= +m + 1 + '') // intialize m(inute), loop while < 60
{ // increase it by 1 and cast back to string
if(h.length < 2) h = 0 + h; // if it is '9', convert to '09'
if(m.length < 2) m = 0 + m; // if it is '9', convert to '09'
// Tests for printing
if(h[0] === m[1] && m[0] === h[1] ||
h === m ||
+m[1] - +m[0] === 1 && +m[0] - +h[1] === 1 && (+h[0] === 0 || +h[1] -+ h[0] === 1))
console.log(h + ':' + m); // print
} // inner loop end
} // outer loop end
187 자 (구) (14/2/4)
for(h='00';+h<24;h=(+h<9?'0':'')+(+h+1))for(m='00';+m<60;m=(+m<9?'0':'')+(+m+1))if(h[0]==m[1]&&m[0]==h[1]||h==m||+m[1]-m[0]==1&&+m[0]-h[1]==1&&(!+h[0]||+h[1]-h[0]==1))console.log(h+':'+m)
약간의 실험과 로트 개선 (9 문자) :) JSBin
196 자 (구) (14/2/3)
for(h='00';+h<24;h=(+h<9?'0':'')+(+h+1))for(m='00';+m<60;m=(+m<9?'0':'')+(+m+1))if(h[0]==m[1]&&m[0]==h[1]||h==m||+m[1]-m[0]==1&&+m[0]-h[1]==1&&(!+h[0]||+h[1]-h[0]==1))console.log(h+':'+m)
신선한 마음으로 앉아서 많은 라이너를 개선했습니다 :) JSBin .
208 자 (구) (2/2/14)
for(h='0';+h<24;h=+h+1+''){for(m='0';+m<60;m=+m+1+''){if(h.length<2)h=0+h
if(m.length<2)m=0+m
if(h[0]==m[1]&&m[0]==h[1]||h==m||+m[1]-+m[0]==1&&+m[0]-+h[1]==1&&(+h[0]==0||+h[1]-+h[0]==1))console.log(h+':'+m)}}
정확히 44 시간이 필요합니다 (각 줄마다)
내 코드를 계속 개선 할 것입니다.
의견을 보내 주셔서 감사합니다. 감사합니다.
3:45
기록03:45
에HH:MM
따라서 순서를하지 형식과.