एक उपयोगकर्ता एसई प्रतिष्ठा का पता लगाएं


10

चुनौती

एक एसई उपयोगकर्ता की आईडी को देखते हुए, स्टैक एक्सचेंज नेटवर्क के सभी से उपयोगकर्ता द्वारा साइन अप किया गया है।

नियम

यदि किसी साइट पर किसी उपयोगकर्ता की 101 या उससे कम प्रतिष्ठा है, तो उसे योग में शून्य मानें।

आपको एरिया 51 प्रतिनिधि या छिपे हुए समुदायों की गिनती नहीं करनी चाहिए !!

URL शॉर्टर्स को अस्वीकृत कर दिया गया है।

उदाहरण

परिवर्तन के अधीन

उपयोगकर्ता 3244989 (बीटा क्षय)

14141

उपयोगकर्ता 918086 (डेनिस)

204892

उपयोगकर्ता 11683 (जॉन स्कीट)

1029180

जीतना

बाइट्स में सबसे छोटा कोड जीतता है।

जवाबों:


1

कर्ल, ग्रीप और awk, 106 बाइट्स

curl http://api.stackexchange.com/users/$1/associated|grep -o n\"[^,]*|awk -F: '$2>101{s+=$2}END{print s}'

यह गंदा है लेकिन अच्छी तरह से काम करता है। अगर मैं इसके साथ दूर awkगोल्फ के लिए एक रास्ता था तो मैं अक्सर उपयोग नहीं करते हैं तो मुझे आश्चर्य नहीं होगा grep


3

पायथन 2 (अनुरोधों के साथ), 149 बाइट्स

from requests import*
lambda i,r="reputation":sum(u[r]for u in get("http://api.stackexchange.com/users/"+i+"/associated").json()["items"]if u[r]>101)

मैंने एपीआई का अनुरोध किया, एपीआई को JSON में बदल दिया, फिर एक जनरेटर अभिव्यक्ति के माध्यम से प्रतिष्ठा को अभिव्यक्त किया। जनरेटर 101 से कम प्रतिष्ठा वाले खातों को हटाता है।

कोड सुधारने का श्रेय: जोनाथन एलन को


1

आर के साथ नहर, 146 बाइट्स

library(httr)
a=sapply(content(GET(paste0("http://api.stackexchange.com/users/",readline(),"/associated")))$items,'[[','reputation')
sum(a[a>101])

0

रूबी 2.4, 136 + 20 = 156 बाइट्स

-rjson -rnet/http -nझंडे की आवश्यकता है । इनपुट STDIN (कोई अनुगामी न्यूलाइन) से है। रूबी 2.4 के लिए आवश्यक है sum

p JSON.parse(Net::HTTP.get URI"http://api.stackexchange.com/users/#$_/associated")["items"].map{|i|i["reputation"]}.select{|i|i>101}.sum

0

जावास्क्रिप्ट (ईएस 6), 148 143 142 141 बाइट्स

u=>fetch(`//api.stackexchange.com/users/${u}/associated`).then(j=>j.json(s=0)).then(i=>(i.items.map(r=>s+=(r=r.reputation)>101&&r),alert(s)))

कोशिश करो

f=

u=>fetch(`//api.stackexchange.com/users/${u}/associated`).then(j=>j.json(s=0)).then(i=>(i.items.map(r=>s+=(r=r.reputation)>101&&r),alert(s)))

i.addEventListener("submit",e=>{e.preventDefault();(v=+i.firstChild.value)&&f(v)})
<form id=i><input type=number><button>Calc.</button></form>


क्या यह क्षेत्र 51 की उपेक्षा करता है?
बीटा

@ BetaDecay, मुझे ऐसा लगता है। मैं अपने उत्तर में अब समझाने के लिए एक चेतावनी का संपादन कर रहा हूँ।
झबरा

ओह ठीक है, मुझे नहीं लगा कि इसे फ़िल्टर करना इतना आसान होगा
बीटा

@ BetaDecay, क्या यह पुष्टि है कि उस समापन बिंदु में A51 साइटें शामिल नहीं हैं?
झबरा

आप समापन बिंदु से क्या मतलब है? : /
बीटा डिके
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.