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.