허용되는 답변을 결정하는 코드 작성


14

이 질문에 대한 답변을 평가하고이기는지 결정하는이 질문에 대한 답변을 게시하십시오.

누가 이겼어:

  • 당첨자는 3 월 2 일 일요일 1700 UTC에 가장 많은 답변에 따라이기는 답변입니다.
  • 컨테스트가 진행됨에 따라 자신의 답변을 변경할 수 있습니다. 다른 사람을 바꾸지 마십시오.
  • 타이는 가장 짧은 코드로 결정됩니다.
  • 당신이 일반적으로하는 양말 인형의 양에 관계없이, 비린내가 있다면, 당신을 실격시킬 것입니다.
  • 나는 내 자신의 대답을 받아들이지 않을 것이지만, 나는 그것을 당신의 평가에 사용할 것입니다.

규칙 :

  • 계산은 임의의 답변에 대해 숫자 점수를 제공해야합니다 (쉽게하기 위해 알고리즘 입력은 답변의 ID이거나 페이지의 답변의 마크 다운입니다).
  • 당신의 점수는 적어도 하나의 승자가 있어야하며, 당신 이외의 답변이 이길 수 있어야합니다.
  • 알고리즘은 답변에 매우 특정한 것을 사용할 수 없으며 사용자 이름이나 타임 스탬프를 전혀 사용할 수 없습니다. 나는 "매우 구체적"이 무엇을 의미하는지에 대한 최종 판사가 될 것이지만, 지역 사회의 정책 수립과 공공 부흥을 권장합니다.
  • 코드는 컴파일, 실행 및 답변이 주어진 점수를 제공해야합니다.
  • 코드가 Ideone에 나열되지 않은 경우 코드를 실행하는 방법에 대한 링크를 포함하십시오 . 아래를 참조하십시오.

이데온 언어


1
"하나의 답변 만 제공하십시오"제한에 대한 특별한 이유가 있습니까? 두 개의 매우 다른 기준으로 두 개의 매우 다른 알고리즘을 개발하면 둘 다 게시 할 수 없습니까?
Victor Stafusa

@ 빅터 당신이 옳은 것 같아요. 나는 그 규칙을 완화시킬 수 있지만 갑판을 쌓기 위해 사람들을 폐쇄 할 것입니다.
찰스

승자가 자신이 승자임을 정확하게 결정해야합니까? IE가 A라고 대답하면 B와 C는 D가 승자라고 말하지만 D는 A가 승자라고 말하지만, 정답이 아니더라도 D가 승자입니까?
Victor Stafusa

@Victor 당첨자는 정확하지 않아도됩니다. 너무 어려울 것입니다.
찰스

Ideone은 언제부터 네트워크 액세스를 허용합니까?
nyuszika7 시간

답변:


6

R, 1 자

1

원하는 경우 답변 ID를 명령 줄 인수로 제공 할 수 있습니다. :) 링크 아이디어로 합니다.

추가 정교

답변이 다른 답변 (다른 언어 등)을 실행하고 결과에 따라 평가하는 것은 실용적이지 않기 때문에 점수를 제공하는 유일한 방법은 일부 코드 메트릭을 사용하는 것입니다.

나는 지금까지 다른 모든 답변이 더 짧은 프로그램에 더 높은 점수를주는 것을 알았습니다. 나는 이것이 가장 짧은 코드라고 생각하므로 다른 답변의 결과에서 순위가 ​​높아야합니다.

내 코드가 어떻게 그리고 어떤 답변을 제공하는지에 따라 다른 답변과의 관련성이 떨어집니다. 유일한 중요한 측면은 다른 사람들이 내 대답을 높게 평가한다는 것입니다.


정교하게 작성하십시오.
rahulroy9202

1
@ rahulroy9202 내 추론으로 답변을 업데이트했습니다.
Andris

2
: 좋은 지적이다. 당신의 가정은 논리적입니다. 누군가 코드없이 1을 인쇄하는 방법을 찾지 않으면. : D
rahulroy9202

@ rahulroy9202 빈 코드 블록을 게시 할 수 없다고 생각합니다. 언어로 가능하더라도 여기에 "코드"를 게시 할 수 없습니다. : D
Andris

답변 안에 <code> </ code>을 시도하면 내 코드는 0 문자 답변으로 읽습니다. : D
rahulroy9202

3

R, 1 자

0

@Andris의 답변에 이어 Andris 's와 mine이라는 단일 문자가있는 두 개의 코드가 있습니다. 우리는 다른 답변의 눈에 묶여 있기 때문에, 우리 모두는 "원"을 가지고 있지 않으므로 제 답변은 "승리"되지 않습니다. :-)


2

루비, 368 자

require 'json'
require 'open-uri'
v='body';w="#{v}_markdown";s='comments'
x=if(d=JSON.parse(open("http://api.stackexchange.com/2.2/answers/#{ARGV[0]}?site=codegolf&filter=!%29r%28UkmOhmCPjXru-TDty").read)['items'][0]).include?(s) then d[s].map{|c|c[w].length*[1,c[w].index('`')||1,c[w].index('\n')||1].max}.reduce(:+) else -2 end
puts d['score']*150+5*(d[v].match(/<(..).*?\1.*?\1/m))[0].ord+x-$~.end(0)

행운을 빕니다!


2

자바 스크립트-190 자

가정 : 첫 번째 코드 블록이 답입니다.

var ans=$('.answer'),s=999,sa;
for(i=0;i<ans.length;i++){
    var x =  ans[i].getElementsByTagName('code');   
    var z = x[0].innerHTML.replace(/\s/g,'').length;
    if(s>z){
        s=z;
        sa=ans[i];
        }    
}
console.log(sa);

브라우저 콘솔에서 테스트 할 수 있습니다. 가장 짧은 답이 정답이라고 가정합니다.

실행 방법-Chrome / Firefox에서이 페이지에있는 동안 콘솔을 열고 코드를 붙여 넣습니다.


그것은 또한 IE 11 콘솔에서도 작동합니다 :)
ComFreek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.