एक प्रोग्राम या फ़ंक्शन लिखें जो केवल एक स्ट्रिंग में होता है जिसमें वर्ण होते हैं ^
और v
(आप मान सकते हैं कि कोई अन्य वर्ण नहीं होगा)। बाईं ओर से दाईं ओर पढ़ें यह स्ट्रिंग एक स्टैक एक्सचेंज प्रश्न या उत्तर को पहली बार देखने के दौरान किए गए एकल उपयोगकर्ता क्लिक के अनुक्रम का प्रतिनिधित्व करता है ।
हर ^
की एक क्लिक को दर्शाती वोट दें बटन और हर v
के एक क्लिक का प्रतिनिधित्व करता है downvote बटन। (काम के उदाहरणों के लिए थोड़ा बाएं देखें।)
मान लें कि कोई मतदान सीमाएं प्रभावी नहीं हैं, इसलिए सभी क्लिक सही तरीके से पंजीकृत हैं।
प्रिंट या वापसी:
1
या+1
यदि पोस्ट समाप्त हो रहा है ऊपर की ओर।0
यदि पद समाप्त नहीं होता है तो मतदान नहीं किया जाएगा। (-0
और+0
मान्य नहीं हैं)-1
अगर पोस्ट को समाप्त किया जा रहा है।
पोस्ट उपयोगकर्ता से शून्य नेट वोटों के साथ शुरू होते हैं और बटन नेट वोटों को निम्नानुसार बदलते हैं:
Net Votes Before Button Pressed Net Votes After
1 ^ 0
1 v -1
0 ^ 1
0 v -1
-1 ^ 1
-1 v 0
बाइट्स में सबसे छोटा कोड जीतता है।
परीक्षण के मामलों:
[empty string] -> 0
^^ -> 0
^v -> -1
^ -> 1
v -> -1
v^ -> 1
vv -> 0
^^^ -> 1
vvv -> -1
^^^^ -> 0
vvvv -> 0
^^^^^ -> 1
vvvvv -> -1
^^^^^^ -> 0
vvvvvv -> 0
^^v -> -1
^v^ -> 1
^vv -> 0
vv^ -> 1
v^v -> -1
v^^ -> 0
^vvv^^vv^vv^v^ -> 1
^vvv^^vv^vv^v^^ -> 0
^vvv^^vv^vv^v^^^ -> 1
^vvv^^vv^vv^v^^v -> -1
^vvv^^vv^vv^v^^vv -> 0
^vvv^^vv^vv^v^^vvv -> -1
^vvvvvvvvvvvv -> 0
^^vvvvvvvvvvvv -> 0
^^^vvvvvvvvvvvv -> 0
vvv^^^^^^^^^^^^ -> 0
vv^^^^^^^^^^^^ -> 0
v^^^^^^^^^^^^ -> 0
^
चरित्र एक -1, +1 या +2 स्कोर परिवर्तन का कारण बन सकता है? क्या मैं घना हूं? क्या चल रहा है?