অস্ট্রেলিয়ান রাষ্ট্রটি প্রসারিত করুন


9

8 টি অস্ট্রেলিয়ান রাজ্য এবং অঞ্চল রয়েছে, প্রতিটি 2 বা 3 বর্ণের সংক্ষেপণ সহ:

  • আইন: অস্ট্রেলিয়ান রাজধানী অঞ্চল
  • এনএসডব্লিউ: নিউ সাউথ ওয়েলস
  • এনটি: উত্তর টেরিটরি
  • কিউএলডি: কুইন্সল্যান্ড
  • এসএ: দক্ষিণ অস্ট্রেলিয়া
  • তাস: তাসমানিয়া
  • ভিআইসি: ভিক্টোরিয়া
  • ডাব্লুএ: ওয়েস্টার্ন অস্ট্রেলিয়া

আপনার কাজটি এমন একটি ফাংশন / প্রোগ্রাম লিখতে হয় যা উচ্চতর ক্ষেত্রে একটি বৈধ অস্ট্রেলিয়ান রাষ্ট্রের সংক্ষেপণ গ্রহণ করে এবং সঠিক পুরো নামটি (উপরে বর্ণিত কেস-সংবেদনশীল) দেয়।

একক ট্রেলিং নিউলাইন ব্যতীত কোনও অতিরিক্ত শ্বেত স্পেসের অনুমতি নেই যেখানে এই ভাষার প্রতিটি প্রোগ্রামের এটি অনিবার্য পার্শ্ব-প্রতিক্রিয়া।

উদাহরণ স্বরূপ:

f("TAS") => "Tasmania"

মান বিধিগুলি (বাইট জেতে সংক্ষিপ্ততম কোড!) এবং লুফোলগুলি প্রয়োগ হয়।


6
আমি মনে করি আমাদের এই মুহুর্তে [ রাষ্ট্র-সংক্ষেপণ ] ট্যাগ তৈরি করা দরকার ।
সাইয়েস

"নিউ সাউথ (Far) ওয়েলস" সম্পর্কে কী? (যারা বুঝতে পারেন না তাদের জন্য এটি "
এনএসএফডাব্লু

3
আমি যখন একটি সমাধান নিয়ে ঘুরে বেড়াচ্ছিলাম, এনএসডাব্লু "নিউ সাউথ ওয়েস্টার্ন এলেস" তে প্রসারিত হচ্ছিল যা আমি বেশ পছন্দ করেছি :)
স্টিভ বেনেট

রহস্যময়। আমি ট্যাগটি তৈরি করে এটিকে যুক্ত করেছি, তবে কেউ আবার এটি সরিয়ে ফেলেছে।
স্টিভ বেনেট

রাষ্ট্র-সংক্ষেপণ খুব নির্দিষ্ট হতে পারে। সংক্ষিপ্ত বিবরণ / সংক্ষিপ্ত বিবরণ সম্পর্কে ট্যাগ কিছু করতে পারেন?
স্পার

উত্তর:


9

রেটিনা , 135 121 বাইট

চতুর স্থান সন্নিবেশ কৌশলগুলি ব্যবহার করে 13 বাইট @ নীলকে ধন্যবাদ জানায়, যা আরও একটি বাইটকে গল্ফ করার জন্য অনুপ্রাণিত করে

AS
asmania
^W
Western 
NT
NorthernT
T$
 Territory
A
Australia
aC
an Capital
IC
ictoria
LD
ueensland
SW
ew SWales
S
South 

এটি অনলাইন চেষ্টা করুন!

চতুর্থ এবং শেষ রেখার পিছনে স্থানগুলি নোট করুন।


আপনি যদি প্রথমে প্রতিস্থাপন ASকরেন asmaniaতবে আপনি বাকী Aসমস্তগুলি প্রতিস্থাপন করতে পারেন Australia
নীল

আপনি নিজের স্থান সন্নিবেশ সহ সৃজনশীলও পেতে পারেন, এটির
নীল

(তবে তার জন্য \B[A-Z]আপনাকে দুটি বাইট বাঁচাতে পারত))
নীল

@ নীল টিপসগুলির জন্য ধন্যবাদ, আমি আপনার পরামর্শগুলি আরও একটি বাইট গল্ফটিতে ব্যবহার করেছি।
ব্যবহারকারী 41805

5

জেলি , 56 বাইট

OS%15ị“ÞÑṿ“ıÐṁṾṗ“¡ʋẹḢ⁾ḅ“¢T¡ż¶““msẒw²ẉṪP“ØÑĊ“©$Ḅ3ẊḳƓ“ÇH°»

একটি মোনাডিক লিঙ্ক অক্ষরের তালিকা গ্রহণ এবং ফিরিয়ে আনছে।

অনলাইনে চেষ্টা করে দেখুন সমস্ত কেস !

দ্রষ্টব্য: "অস্ট্রেলিয়া" এবং "অঞ্চল" শব্দটি পুনরায় ব্যবহার করা বাইটের গণনা হ্রাস করতে সহায়তা করে না।

কিভাবে?

আটটি রাষ্ট্রের সংক্ষিপ্ত বিবরণীর 15 টি অধ্যাদেশের যোগফলটি 8 টি অনন্য মান দেয়। এই 9 টি মডুলোর ফলাফল নেওয়া স্বতন্ত্রতা বজায় রাখে।

OS%15ị“ ... » - Main link: list of characters a
O             - cast to ordinals
 S            - sum
  %15         - modulo 15
      “ ... » - list of compressed strings:
              -   "Victoria"
              -   "Western Australia"
              -   "Northern Territory"
              -   "South Australia"
              -   ""
              -   "Australian Capital Territory"
              -   "Tasmania"
              -   "New South Wales"
              -   "Queensland"
     ị        - index into (1-indexed and modular - hence the single empty entry)

দুঃখের বিষয় যে অস্ট্রেলিয়া এবং অঞ্চল অঞ্চল পুনরায় ব্যবহার করা কোনও উপকারে আসে না: /
স্টিভ বেনেট

5

হাস্কেল, 193 192 বাইট

f"NSW"="New South Wales"
f"QLD"="Queensland"
f"ACT"=a++"n Capital"++t
f"VIC"="Victoria"
f"TAS"="Tasmania"
f"SA"="South "++a
f"NT"="Northern"++t
f"WA"="Western "++a
a="Australia"
t=" Territory"

কিছুটা নির্লজ্জ সমাধান, তবে আমি আমার প্রথমটির জন্য মোটামুটি সহজ চ্যালেঞ্জের জন্য যেতে চেয়েছিলাম। হাস্কেলের মধ্যে আরও ভাল সম্ভব কিনা তাও আমি নিশ্চিত নই।

স্থানটি টি-তে স্থানান্তর করে একটি বাইট সংরক্ষণ করা


1
পিপিসিজিতে আপনাকে স্বাগতম!
L3viathan

3

গণিত, 177 বাইট tes

স্পষ্ট সমাধান: (199 বাইট)

<|"ACT"->"Australian Capital Territory","NSW"->"New South Wales","NT"->"Northern Territory","QLD"->"Queensland","SA"->"South Australia","TAS"->"Tasmania","VIC"->"Victoria","WA"->"Western Australia"|>

উন্নত সমাধান: (182 বাইট, কেবল আমার ওল্ফ্রাম ম্যাথমেটিকা ​​10.2 কম্পিউটারে চালিত)

{,"Northern Territory","Queensland",,,,,"Australian Capital Territory","New South Wales",,,"Tasmania",,,"Western Australia","Victoria",,,,,,,,,,,,"South Australia"}[[Hash@#~Mod~29]]&

সবচেয়ে ভালো সমাধান:

{,"Northern Territory","Queensland",a="Australia",,,,a<>"n Capital Territory","New South Wales",,,"Tasmania",,,"Western "<>a,"Victoria",,,,,,,,,,,,"South "<>a}[[Hash@#~Mod~29]]&

দুর্ভাগ্যক্রমে পুনরাবৃত্তি " Territory"কেবল 0 বাইট সংরক্ষণ করতে পারে।

দেখে মনে হচ্ছে গণিতের ডিফল্ট হ্যাশ ফাংশন সংস্করণগুলির পরিবর্তে। তবে একটি পদ্ধতি যুক্ত করা কোড দীর্ঘায়িত করবে। গাণিতিক স্যান্ডবক্সের ডিফল্ট হ্যাশ ফাংশনটি ব্যবহার করে এখন কোডটি প্রায় 9 বাইট দ্বারা সংক্ষিপ্ত করতে পারে।

গাণিতিক (স্যান্ডবক্স - এখন - সংস্করণ 11), 168 বাইট

{a="Australia","Western "<>a,,,,"South "<>a,,a<>"n Capital Territory",,,,"Tasmania","Northern Territory",,,,"New South Wales","Victoria","Queensland"}[[Hash@#~Mod~20]]&

অভিশাপ, তুচ্ছ উত্তর চেয়ে 21 বাইট ভাল।
স্টিভ বেনিট

5
দাঁড়াও তো, ম্যাথামেটিকার কি এর জন্য কোনও বিল্টিন নেই?
নীল

@ নীল আমার আগে এটি সম্পর্কে চিন্তা করা উচিত ছিল।
ব্যবহারকারী 202729

2

পাইথন, 181 বাইট

1 জোনাথন অ্যালানকে ধন্যবাদ বাইট সংরক্ষণ করেছে saved

lambda a,s='Australia',t=' Territory':[s+'n Capital'+t,'New South Wales','Northern'+t,'Queensland','South '+s,'Tasmania','Victoria','Western '+s]['ACNSNTQLSATAVIWA'.index(a[:2])//2]

এটি অনলাইন চেষ্টা করুন!


t=' Territory'আমি মনে করি একটি বাইট সংরক্ষণ করা উচিত।
জোনাথন অ্যালান

2

সেড, 167 157 বাইট

s/T$/ Territory/
s/N /Northern /
s/AS/asmania/
s/IC/ictoria/
s/LD/ueensland/
s/W$/Wales/
s/A/Australia/
s/C/n Capital/
s/NS/New S/
s/^W/Western /
s/S/South /

আমি মূলত স্থগিত করেছি ern , তবে এটি মাত্র দুটি ব্যবহারের জন্য সাশ্রয়ের চেয়ে বেশি খরচ হয়েছে।
টবি স্পিড


0

সি # , 289 বাইট


উপাত্ত

  • ইনপুট String s রাষ্ট্রের সংক্ষিপ্তসার।
  • আউটপুট String প্রসারিত রাষ্ট্রের নাম

Golfed

(string s)=>{return new System.Collections.Generic.Dictionary<string,string>(){{"ACT","Australian Capital Territory"},{"NSW","New South Wales"},{"NT","Northern Territory"},{"QLD","Queensland"},{"SA","South Australia"},{"TAS","Tasmania"},{"VIC","Victoria"},{"WA","Western Australia"}}[s];};

Ungolfed

( string s ) => {
    return new System.Collections.Generic.Dictionary<string, string>() {
        { "ACT", "Australian Capital Territory" },
        { "NSW", "New South Wales" },
        { "QLD", "Queensland" },
        { "TAS", "Tasmania" },
        { "VIC", "Victoria" },
        { "NT", "Northern Territory" },
        { "SA", "South Australia" },
        { "WA", "Western Australia" }
    }[ s ];
};

অসম্পূর্ণ পাঠযোগ্য

// Takes a state name abbreviated 
( string s ) => {

    // Creates a dictionary with the state name abbreviated and the full state name and returns the one that match
    return new System.Collections.Generic.Dictionary<string, string>() {
        { "ACT", "Australian Capital Territory" },
        { "NSW", "New South Wales" },
        { "QLD", "Queensland" },
        { "TAS", "Tasmania" },
        { "VIC", "Victoria" },
        { "NT", "Northern Territory" },
        { "SA", "South Australia" },
        { "WA", "Western Australia" }
    }[ s ];
};

সম্পূর্ণ কোড

using System;
using System.Collections.Generic;

namespace Namespace {
   class Program {
      static void Main( String[] args ) {
         Func<String, String> f = ( string s ) => {
             return new System.Collections.Generic.Dictionary<string, string>() {
                 { "ACT", "Australian Capital Territory" },
                 { "NSW", "New South Wales" },
                 { "QLD", "Queensland" },
                 { "TAS", "Tasmania" },
                 { "VIC", "Victoria" },
                 { "NT", "Northern Territory" },
                 { "SA", "South Australia" },
                 { "WA", "Western Australia" }
             }[ s ];
         };

         List<String>
             testCases = new List<String>() {
                 "ACT",
                 "NSW",
                 "QLD",
                 "TAS",
                 "VIC",
                 "NT",
                 "SA",
                 "WA",
             };

         foreach( String testCase in testCases ) {
             Console.WriteLine( $"Input: {testCase}\nOutput: {f( testCase )}\n");
         }

         Console.ReadLine();
      }
   }
}

রিলিজ

  • v1.0 - 289 bytes- প্রাথমিক সমাধান।

মন্তব্য

  • না

(string s)ঠিক হতে পারে s, আপনি একটি অন্তর্নিহিত রিটার্ন ব্যবহার করতে পারেন: s=>new System....এবং আপনি পেছনের সেমিকোলনটি সরিয়ে ফেলতে পারেন।
TheLethalCoder


0

জাভাস্ক্রিপ্ট (ES6), 167 বাইট

s=>({A:`${A='Australia'}n Capital ${T='Territory'}`,N:s[2]?'New South Wales':'Northern '+T,T:'Tasmania',Q:'Queensland',S:'South '+A,V:'Victoria',W:'Western '+A}[s[0]])

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.