PPCG의 답변되지 않은 질문


9

이 소중한 Exchange Exchange 사이트에는 많은 도전 과제와 좋은 답변이 있습니다. 그러나 얻지 못한 도전은 어떻습니까?

직무

PPCG의 의사 난수 (답이 0 인 질문과 같은) 질문에 답할 수있는 의사 난수를 인쇄하는 프로그램이나 함수를 작성하십시오. 가능한 모든 문제는 동일한 확률로 발생해야합니다.

입력

  • 입력이 없습니다.

산출

  • 제목, 태그 및 링크만으로 개행 문자로 분리해야합니다.
    • 제목은 도전과 똑같아 야합니다.
    • 태그는 엄격한 출력 형식을 갖지 않지만 모든 태그를 포함해야합니다.
    • 링크는 question-name질문 후 ID를 포함하거나 포함하지 않을 수 있으며 도전으로 이어져야합니다.
  • 사람이 읽을 수있는 형식으로 변환되거나 변환되지 않을 수 있습니다.
    • &&
  • 선행 및 후행 공백이 허용됩니다.

Encode a steganographic encoder into a package
code-challenge,unicode,steganography
/codegolf/65159/encode-a-steganographic-encoder-into-a-package

Simple predictive keyboard CG
code-golf
/codegolf/76196/simple-predictive-keyboard-cg

채점

이대로 바이트 단위의 최단 답변이 이깁니다.


8
스택 교환 API 문제에 정말 빠져 있습니다.
Rɪᴋᴇʀ

3
@Riker Uhm ... 피드백 주셔서 감사합니다? 나는 왜 당신이 그 이유 때문에 공감할 지 모르지만 당신에게 더 많은 힘을 줄 것입니다.
완전히 인간적인

6
나는 그것을 위해 투표하지 않았다. 나는 질문이 지루하다고 생각하기 때문에 하향 투표했다. 또한 비공개 질문은 출력 될 확률이 동일해야합니까?
Rɪᴋᴇʀ

1
@Riker만큼 강력하게 생각하지는 않지만 최근 API 관련 문제 가 많이 있는 것 같습니다 . 너무 많은 그래서 나 자신 ~ 21 시간 API를 사용하여 차단 얻을 수 있었다 !
Shaggy

4
흥미롭게도이 과제는 테스트 중에 표시되지만 대답하면 더 이상 테스트에 표시되지 않습니다.
HyperNeutrino

답변:


7

자바 스크립트 + HTML, 271 250 232 바이트

Dates를 의사 난수로 사용할 수 있습니다 . 나는 Shaggy의 대답 에서 이것을 훔쳤다 .

(할당량의 약 4 개만 사용)

q=[]
g=f=>fetch('//api.stackexchange.com/questions/unanswered?site=codegolf&page='+f).then(r=>r.json().then(j=>(q=[...q,...j.items])^j.has_more?g(f+1):document.write(`<pre>${(q=q[new Date%q.length]).title}
${q.tags}
`+q.link)))
g(1)

배열 q을 만든 다음을 호출 g(1)하여 결과의 ​​첫 번째 페이지를 가져 와서 q에 추가합니다. 그런 다음 요청에이라고 표시 has_more되면을 호출 g(f+1)하여 끝까지 도달하고 HTML 문서에 쓸 때까지 다음 페이지를 가져옵니다 (자동으로 응답을 해제합니다)

답변이없는 모든 질문에 관심 이없는 경우 가장 최근 30 개 (할당량 중 1 개만 사용) :

자바 스크립트 + HTML, 213 196 179 바이트

fetch`//api.stackexchange.com/questions/unanswered?site=codegolf`.then(r=>r.json().then(j=>document.write(`<pre>${(j=j.items[new Date%j.items.length]).title}
${j.tags}
`+j.link)))


죄송합니다, @Artyer, 저는 제 자신의 답변에 집중하는 데 주력해 왔으며, 당신이 몇 분 동안 펀치를 날 때렸다는 것을 결코 알지 못했습니다. 답변이 귀하의 답변과 비슷하다고 생각되면 답변을 삭제 해 드리겠습니다.
얽히고 설킨 Shaggy

@Shaggy 괜찮습니다. 나는 또한 당신이 당신의 답변을 쓴 것과 동시에 두 번째 답변을 썼다.
Artyer

가져와야하는 페이지 수를 하드 코딩하여 몇 바이트를 절약 할 수 있습니다. 대신 j.has_more?g(f+1)시도하십시오++f<5?g(f)
Shaggy

또한 대체 할 수 q=q.concat(j.items)와 함께 q=[...q,...j.items]. Tags: 선택 사항 인 것처럼 보이 므로 삭제할 수도 있습니다. 그리고 join q.tags문자열에 연결될 때 문자열로 강제 변환됩니다. 마지막으로 마지막에 템플릿 리터럴을 사용하면 몇 바이트도 절약됩니다.
Shaggy

@Shaggy 불행히도, 할당량을 충족했습니다. 그래도 425 초 후에 재설정됩니다.
Artyer

6

Python + 요청 + json + random + html, 249 239 바이트

import requests as r,json,random as R,html
j=R.choice(json.loads(r.get('http://api.stackexchange.com/questions/no-answers?site=codegolf').text)['items'])
print('\n'.join([html.unescape(j['title']),'Tags: '+', '.join(j['tags']),j['link']]))

내가 원하는 것보다 더 길었다.

@totallyhuman 덕분에 -10 바이트 덕분에 첫 번째 요소 를 사용 R.choice하지 않고 사용 R.shuffle합니다.


random.shuffle? 를 사용하여 몇 바이트를 저장할 수 있습니까 ?
완전히 인간적인

... 기다리거나 더 나은가 random.choice()?
완전히 인간적인

1
@totallyhuman inpurt 이름을 변경하면 실제로 바이트 수에 차이가 없습니다. : P 그러나 감사합니다 .choice()!
HyperNeutrino

json 라이브러리가 필요하지 않고 r.get(url).json()대신 사용하십시오
ovs

이 계정은 설명하지 않습니다 has_more. 처음 30 개에서만 무작위로 선택합니다.
Artyer

0

배쉬 255232 바이트

a="api.stackexchange.com/questions/";b="?site=codegolf";c=$(w3m $a"unanswered"$b"&filter=total"|tr -cd 0-9);w3m $a"no-answers"$b"&pagesize=1&page="$((RANDOM%c))|jq -r ".items[0]|.title,(.tags|join(\", \")),.link"|recode html..utf-8

무응답 / 답변에 대한 총계에 대한 잘못된 결과 반환으로 보입니다. 일반적인 아이디어-하나의 항목으로 임의의 페이지를 얻는 것보다 총계를 얻으십시오.

배쉬 174153 바이트

w3m api.stackexchange.com/questions/no-answers?site=codegolf|jq -r ".items[$RANDOM%(.items|length)]|.title,(.tags|join(\", \")),.link"|recode html..utf-8

모든 질문이 아니라 지난 30 일 동안 무작위 질문 하나를 선택합니다. 명령 줄에서 작동합니다. 필요한 w3m, jq 및 코딩.

결과:

Tips for golfing in Charcoal
code-golf, tips
/codegolf/117269/tips-for-golfing-in-charcoal

나는 당신이 그들 모두에서 선택해야한다고 확신합니다. 그러나 어쨌든 PPCG에 오신 것을 환영합니다!
NoOneIsHere 여기
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.