Is there a smaller tautogram checker? [on hold]












8












$begingroup$


I got into code-golfing recently and tried to write the smallest tautogram checker.



A tautogram is a sentence in which all words start with the same letter, for example: Flowers flourish from France.



Given a sentence as input, determine whether it is a tautogram.



Test Cases



Flowers flourish from France
True

This is not a Tautogram
False


I came up with this python code (because it is my main language):



print(True if len(list(set([x.upper()[0] for x in __import__('sys').argv[1:]]))) == 1 else False)


Usage:



python3 tautogram.py Flowers flourish from France
# True
python3 tautogram.py This is not a Tautogram
# False


The sentence may contain commas and periods, but no other special characters, only upper and lower case letters and spaces.



Its size is 98 bytes. Is there a smaller solution in any language?










share|improve this question









New contributor




Jaime Tenorio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$



put on hold as unclear what you're asking by Erik the Outgolfer, Stephen, Embodiment of Ignorance, Don Thousand, Jonathan Allan 4 hours ago


Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.














  • 1




    $begingroup$
    Is it intended as a tips question limited to Python? If so, these both tags should be added.
    $endgroup$
    – Arnauld
    7 hours ago






  • 2




    $begingroup$
    Heya friend! This site is usually reserved for explicitly defined problems. Things like "can the input contain punctuation" should be answered before posting, but other than that this is a great first question comparatively to the other new-user questions we usually see. Judging by your examples I'd just clarify that the only characters in the input will be "[A-Za-z ]" and your question will be purely objective. I'd scope out some other questions around here, else this may honestly be a better fit on overflow.
    $endgroup$
    – Magic Octopus Urn
    7 hours ago








  • 1




    $begingroup$
    What do you mean by punctuation? Which characters are included?
    $endgroup$
    – Embodiment of Ignorance
    6 hours ago






  • 1




    $begingroup$
    @MagicOctopusUrn Sometimes when you ask for a short solution in stackOverflow the refer to this site :)
    $endgroup$
    – Luis felipe De jesus Munoz
    6 hours ago






  • 6




    $begingroup$
    Welcome to PPCG! A few more test cases (including punctuation) would be a great addition to this challenge.
    $endgroup$
    – AdmBorkBork
    6 hours ago
















8












$begingroup$


I got into code-golfing recently and tried to write the smallest tautogram checker.



A tautogram is a sentence in which all words start with the same letter, for example: Flowers flourish from France.



Given a sentence as input, determine whether it is a tautogram.



Test Cases



Flowers flourish from France
True

This is not a Tautogram
False


I came up with this python code (because it is my main language):



print(True if len(list(set([x.upper()[0] for x in __import__('sys').argv[1:]]))) == 1 else False)


Usage:



python3 tautogram.py Flowers flourish from France
# True
python3 tautogram.py This is not a Tautogram
# False


The sentence may contain commas and periods, but no other special characters, only upper and lower case letters and spaces.



Its size is 98 bytes. Is there a smaller solution in any language?










share|improve this question









New contributor




Jaime Tenorio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$



put on hold as unclear what you're asking by Erik the Outgolfer, Stephen, Embodiment of Ignorance, Don Thousand, Jonathan Allan 4 hours ago


Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.














  • 1




    $begingroup$
    Is it intended as a tips question limited to Python? If so, these both tags should be added.
    $endgroup$
    – Arnauld
    7 hours ago






  • 2




    $begingroup$
    Heya friend! This site is usually reserved for explicitly defined problems. Things like "can the input contain punctuation" should be answered before posting, but other than that this is a great first question comparatively to the other new-user questions we usually see. Judging by your examples I'd just clarify that the only characters in the input will be "[A-Za-z ]" and your question will be purely objective. I'd scope out some other questions around here, else this may honestly be a better fit on overflow.
    $endgroup$
    – Magic Octopus Urn
    7 hours ago








  • 1




    $begingroup$
    What do you mean by punctuation? Which characters are included?
    $endgroup$
    – Embodiment of Ignorance
    6 hours ago






  • 1




    $begingroup$
    @MagicOctopusUrn Sometimes when you ask for a short solution in stackOverflow the refer to this site :)
    $endgroup$
    – Luis felipe De jesus Munoz
    6 hours ago






  • 6




    $begingroup$
    Welcome to PPCG! A few more test cases (including punctuation) would be a great addition to this challenge.
    $endgroup$
    – AdmBorkBork
    6 hours ago














8












8








8





$begingroup$


I got into code-golfing recently and tried to write the smallest tautogram checker.



A tautogram is a sentence in which all words start with the same letter, for example: Flowers flourish from France.



Given a sentence as input, determine whether it is a tautogram.



Test Cases



Flowers flourish from France
True

This is not a Tautogram
False


I came up with this python code (because it is my main language):



print(True if len(list(set([x.upper()[0] for x in __import__('sys').argv[1:]]))) == 1 else False)


Usage:



python3 tautogram.py Flowers flourish from France
# True
python3 tautogram.py This is not a Tautogram
# False


The sentence may contain commas and periods, but no other special characters, only upper and lower case letters and spaces.



Its size is 98 bytes. Is there a smaller solution in any language?










share|improve this question









New contributor




Jaime Tenorio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$




I got into code-golfing recently and tried to write the smallest tautogram checker.



A tautogram is a sentence in which all words start with the same letter, for example: Flowers flourish from France.



Given a sentence as input, determine whether it is a tautogram.



Test Cases



Flowers flourish from France
True

This is not a Tautogram
False


I came up with this python code (because it is my main language):



print(True if len(list(set([x.upper()[0] for x in __import__('sys').argv[1:]]))) == 1 else False)


Usage:



python3 tautogram.py Flowers flourish from France
# True
python3 tautogram.py This is not a Tautogram
# False


The sentence may contain commas and periods, but no other special characters, only upper and lower case letters and spaces.



Its size is 98 bytes. Is there a smaller solution in any language?







code-golf string decision-problem






share|improve this question









New contributor




Jaime Tenorio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Jaime Tenorio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 4 hours ago









trichoplax

7,50664276




7,50664276






New contributor




Jaime Tenorio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 7 hours ago









Jaime TenorioJaime Tenorio

413




413




New contributor




Jaime Tenorio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Jaime Tenorio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Jaime Tenorio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




put on hold as unclear what you're asking by Erik the Outgolfer, Stephen, Embodiment of Ignorance, Don Thousand, Jonathan Allan 4 hours ago


Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.









put on hold as unclear what you're asking by Erik the Outgolfer, Stephen, Embodiment of Ignorance, Don Thousand, Jonathan Allan 4 hours ago


Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.










  • 1




    $begingroup$
    Is it intended as a tips question limited to Python? If so, these both tags should be added.
    $endgroup$
    – Arnauld
    7 hours ago






  • 2




    $begingroup$
    Heya friend! This site is usually reserved for explicitly defined problems. Things like "can the input contain punctuation" should be answered before posting, but other than that this is a great first question comparatively to the other new-user questions we usually see. Judging by your examples I'd just clarify that the only characters in the input will be "[A-Za-z ]" and your question will be purely objective. I'd scope out some other questions around here, else this may honestly be a better fit on overflow.
    $endgroup$
    – Magic Octopus Urn
    7 hours ago








  • 1




    $begingroup$
    What do you mean by punctuation? Which characters are included?
    $endgroup$
    – Embodiment of Ignorance
    6 hours ago






  • 1




    $begingroup$
    @MagicOctopusUrn Sometimes when you ask for a short solution in stackOverflow the refer to this site :)
    $endgroup$
    – Luis felipe De jesus Munoz
    6 hours ago






  • 6




    $begingroup$
    Welcome to PPCG! A few more test cases (including punctuation) would be a great addition to this challenge.
    $endgroup$
    – AdmBorkBork
    6 hours ago














  • 1




    $begingroup$
    Is it intended as a tips question limited to Python? If so, these both tags should be added.
    $endgroup$
    – Arnauld
    7 hours ago






  • 2




    $begingroup$
    Heya friend! This site is usually reserved for explicitly defined problems. Things like "can the input contain punctuation" should be answered before posting, but other than that this is a great first question comparatively to the other new-user questions we usually see. Judging by your examples I'd just clarify that the only characters in the input will be "[A-Za-z ]" and your question will be purely objective. I'd scope out some other questions around here, else this may honestly be a better fit on overflow.
    $endgroup$
    – Magic Octopus Urn
    7 hours ago








  • 1




    $begingroup$
    What do you mean by punctuation? Which characters are included?
    $endgroup$
    – Embodiment of Ignorance
    6 hours ago






  • 1




    $begingroup$
    @MagicOctopusUrn Sometimes when you ask for a short solution in stackOverflow the refer to this site :)
    $endgroup$
    – Luis felipe De jesus Munoz
    6 hours ago






  • 6




    $begingroup$
    Welcome to PPCG! A few more test cases (including punctuation) would be a great addition to this challenge.
    $endgroup$
    – AdmBorkBork
    6 hours ago








1




1




$begingroup$
Is it intended as a tips question limited to Python? If so, these both tags should be added.
$endgroup$
– Arnauld
7 hours ago




$begingroup$
Is it intended as a tips question limited to Python? If so, these both tags should be added.
$endgroup$
– Arnauld
7 hours ago




2




2




$begingroup$
Heya friend! This site is usually reserved for explicitly defined problems. Things like "can the input contain punctuation" should be answered before posting, but other than that this is a great first question comparatively to the other new-user questions we usually see. Judging by your examples I'd just clarify that the only characters in the input will be "[A-Za-z ]" and your question will be purely objective. I'd scope out some other questions around here, else this may honestly be a better fit on overflow.
$endgroup$
– Magic Octopus Urn
7 hours ago






$begingroup$
Heya friend! This site is usually reserved for explicitly defined problems. Things like "can the input contain punctuation" should be answered before posting, but other than that this is a great first question comparatively to the other new-user questions we usually see. Judging by your examples I'd just clarify that the only characters in the input will be "[A-Za-z ]" and your question will be purely objective. I'd scope out some other questions around here, else this may honestly be a better fit on overflow.
$endgroup$
– Magic Octopus Urn
7 hours ago






1




1




$begingroup$
What do you mean by punctuation? Which characters are included?
$endgroup$
– Embodiment of Ignorance
6 hours ago




$begingroup$
What do you mean by punctuation? Which characters are included?
$endgroup$
– Embodiment of Ignorance
6 hours ago




1




1




$begingroup$
@MagicOctopusUrn Sometimes when you ask for a short solution in stackOverflow the refer to this site :)
$endgroup$
– Luis felipe De jesus Munoz
6 hours ago




$begingroup$
@MagicOctopusUrn Sometimes when you ask for a short solution in stackOverflow the refer to this site :)
$endgroup$
– Luis felipe De jesus Munoz
6 hours ago




6




6




$begingroup$
Welcome to PPCG! A few more test cases (including punctuation) would be a great addition to this challenge.
$endgroup$
– AdmBorkBork
6 hours ago




$begingroup$
Welcome to PPCG! A few more test cases (including punctuation) would be a great addition to this challenge.
$endgroup$
– AdmBorkBork
6 hours ago










13 Answers
13






active

oldest

votes


















4












$begingroup$


05AB1E, 5 bytes



l#€нË


Try it online!



Did this on mobile excuse the no explanation.






share|improve this answer









$endgroup$





















    3












    $begingroup$


    Python 2, 47 bytes





    lambda s:len(set(zip(*s.lower().split())[0]))<2


    Try it online!



    Came up with this on mobile. Can probably be golfed more.






    share|improve this answer









    $endgroup$





















      2












      $begingroup$


      PowerShell, 57 50 bytes





      (-split"$args"|%{"$($_[0])"}|group).Name.count-eq1


      Try it online!



      Takes input and splits it on whitespace. Loops through each word, takes the first letter $_[0]. Then groups the letters (case-insensitive by default), takes the names, and verifies the count of those names are -equal to 1. Output is implicit.



      The Group).Name.count seems long, but I can't figure out how to shorten it yet.






      share|improve this answer









      $endgroup$





















        2












        $begingroup$


        Clojure, 80 bytes



        Try it online!. TIO doesn't support Clojure's standard String library though, so the first version will throw a "Can't find lower-case" error.





        (fn[s](use '[clojure.string])(apply =(map first(map lower-case(split s #" ")))))


        Ungolfed:



        (defn tautogram? [s]
        (use '[clojure.string])
        (->> (split s #" ") ; Get words
        (map lower-case)
        (map first) ; Get first letter of each word
        (apply =))) ; And make sure they're all the same


        I made a version that avoids the import:



        (fn [s](apply =(map #(if(<(-(int %)32)65)(int %)(-(int %) 32))(map first(take-nth 2(partition-by #(= % )s))))))

        ; -----

        (defn tautogram? [s]
        (->> s
        (partition-by #(= % )) ; Split into words
        (take-nth 2) ; Remove spaces
        (map first) ; Get first letter
        ; Convert to uppercased letter code
        (map #(if (< (- (int %) 32) 65) ; If attempting to uppercase puts the letter out of range,
        (int %) ; Go with the current code
        (- (int %) 32))) ; Else go with the uppercased code
        (apply =))) ; And check if they're all equal


        But it's 112 Bytes.






        share|improve this answer











        $endgroup$





















          1












          $begingroup$


          05AB1E (legacy), 5 bytes



          #€¬uË


          Try it online!



          #     // split on spaces
          €¬ // get the first letter of each word
          uË // check if they're the same (uppercase) letter





          share|improve this answer









          $endgroup$





















            1












            $begingroup$

            Perl 5 (-p), 20 bytes



            $_=!/^(.).* (?!1)/i


            TIO






            share|improve this answer









            $endgroup$





















              1












              $begingroup$


              Haskell, 71 bytes





              f s|c<-fromEnum.head<$>words s=all(`elem`[-32,0,32]).zipWith(-)c$tail c


              Try it online!






              Haskell, 61 58 bytes (using Data.Char.toLower)




              • Saved three bytes thanks to nimi.


              import Data.Char
              (all=<<(==).head).(toLower.head<$>).words


              Try it online!






              share|improve this answer











              $endgroup$













              • $begingroup$
                @nimi Thank you.
                $endgroup$
                – Jonathan Frech
                3 hours ago



















              0












              $begingroup$


              JavaScript (Node.js), 54 bytes





              s=>!s.match(/bw+/g).some(p=s=>p-(p=Buffer(s)[0]&31))


              Try it online!



              Or 47 bytes if each word (but the first) is guaranteed to be preceded by a space.






              share|improve this answer









              $endgroup$













              • $begingroup$
                or in one regex or with a space instead of W
                $endgroup$
                – Nahuel Fouilleul
                5 hours ago












              • $begingroup$
                @NahuelFouilleul, using test saves another byte.
                $endgroup$
                – Shaggy
                5 hours ago






              • 1




                $begingroup$
                @NahuelFouilleul You should probably post is separately.
                $endgroup$
                – Arnauld
                5 hours ago










              • $begingroup$
                already posted the perl version, i don't master as well javascript, i'm happy to give you a hint
                $endgroup$
                – Nahuel Fouilleul
                5 hours ago



















              0












              $begingroup$


              Japt , 5 bytes



              ¸mÎro


              Try it



              ¸mÎro     :Implicit input of string
              ¸ :Split on spaces
              m :Map
              Î : Get first character
              r :Reduce by
              o : Keeping the characters that appear in both, case-insensitive
              :Implicit output as boolean





              share|improve this answer









              $endgroup$





















                0












                $begingroup$


                C# (Visual C# Interactive Compiler), 41 bytes





                n=>n.Split().GroupBy(c=>c[0]|32).Single()


                Throws an exception if false, nothing if true.



                Try it online!






                share|improve this answer









                $endgroup$





















                  0












                  $begingroup$


                  Perl 6, 19 bytes





                  {[eq] m:g/<<./}o&lc


                  Try it online!






                  share|improve this answer









                  $endgroup$





















                    0












                    $begingroup$

                    Java, (36 bytes)



                    s->!s.matches("(?i)(.).* (?!\1).*")


                    TIO






                    share|improve this answer









                    $endgroup$













                    • $begingroup$
                      I think the input is allowed to start with a space, and this doesn't work for input like that.
                      $endgroup$
                      – Sara J
                      4 hours ago





















                    0












                    $begingroup$


                    Brachylog, 5 bytes



                    ḷṇ₁hᵛ


                    Try it online!



                             The input
                    ḷ lowercased
                    ṇ₁ and split on spaces
                    hᵛ is a list of elements which all start with the same thing.





                    share|improve this answer









                    $endgroup$













                    • $begingroup$
                      I just now noticed that this has to be able to handle punctuation, but without any punctuated test cases I can't tell if this does or doesn't still work...
                      $endgroup$
                      – Unrelated String
                      4 hours ago


















                    13 Answers
                    13






                    active

                    oldest

                    votes








                    13 Answers
                    13






                    active

                    oldest

                    votes









                    active

                    oldest

                    votes






                    active

                    oldest

                    votes









                    4












                    $begingroup$


                    05AB1E, 5 bytes



                    l#€нË


                    Try it online!



                    Did this on mobile excuse the no explanation.






                    share|improve this answer









                    $endgroup$


















                      4












                      $begingroup$


                      05AB1E, 5 bytes



                      l#€нË


                      Try it online!



                      Did this on mobile excuse the no explanation.






                      share|improve this answer









                      $endgroup$
















                        4












                        4








                        4





                        $begingroup$


                        05AB1E, 5 bytes



                        l#€нË


                        Try it online!



                        Did this on mobile excuse the no explanation.






                        share|improve this answer









                        $endgroup$




                        05AB1E, 5 bytes



                        l#€нË


                        Try it online!



                        Did this on mobile excuse the no explanation.







                        share|improve this answer












                        share|improve this answer



                        share|improve this answer










                        answered 6 hours ago









                        Magic Octopus UrnMagic Octopus Urn

                        12.8k444126




                        12.8k444126























                            3












                            $begingroup$


                            Python 2, 47 bytes





                            lambda s:len(set(zip(*s.lower().split())[0]))<2


                            Try it online!



                            Came up with this on mobile. Can probably be golfed more.






                            share|improve this answer









                            $endgroup$


















                              3












                              $begingroup$


                              Python 2, 47 bytes





                              lambda s:len(set(zip(*s.lower().split())[0]))<2


                              Try it online!



                              Came up with this on mobile. Can probably be golfed more.






                              share|improve this answer









                              $endgroup$
















                                3












                                3








                                3





                                $begingroup$


                                Python 2, 47 bytes





                                lambda s:len(set(zip(*s.lower().split())[0]))<2


                                Try it online!



                                Came up with this on mobile. Can probably be golfed more.






                                share|improve this answer









                                $endgroup$




                                Python 2, 47 bytes





                                lambda s:len(set(zip(*s.lower().split())[0]))<2


                                Try it online!



                                Came up with this on mobile. Can probably be golfed more.







                                share|improve this answer












                                share|improve this answer



                                share|improve this answer










                                answered 6 hours ago









                                TFeldTFeld

                                16k21449




                                16k21449























                                    2












                                    $begingroup$


                                    PowerShell, 57 50 bytes





                                    (-split"$args"|%{"$($_[0])"}|group).Name.count-eq1


                                    Try it online!



                                    Takes input and splits it on whitespace. Loops through each word, takes the first letter $_[0]. Then groups the letters (case-insensitive by default), takes the names, and verifies the count of those names are -equal to 1. Output is implicit.



                                    The Group).Name.count seems long, but I can't figure out how to shorten it yet.






                                    share|improve this answer









                                    $endgroup$


















                                      2












                                      $begingroup$


                                      PowerShell, 57 50 bytes





                                      (-split"$args"|%{"$($_[0])"}|group).Name.count-eq1


                                      Try it online!



                                      Takes input and splits it on whitespace. Loops through each word, takes the first letter $_[0]. Then groups the letters (case-insensitive by default), takes the names, and verifies the count of those names are -equal to 1. Output is implicit.



                                      The Group).Name.count seems long, but I can't figure out how to shorten it yet.






                                      share|improve this answer









                                      $endgroup$
















                                        2












                                        2








                                        2





                                        $begingroup$


                                        PowerShell, 57 50 bytes





                                        (-split"$args"|%{"$($_[0])"}|group).Name.count-eq1


                                        Try it online!



                                        Takes input and splits it on whitespace. Loops through each word, takes the first letter $_[0]. Then groups the letters (case-insensitive by default), takes the names, and verifies the count of those names are -equal to 1. Output is implicit.



                                        The Group).Name.count seems long, but I can't figure out how to shorten it yet.






                                        share|improve this answer









                                        $endgroup$




                                        PowerShell, 57 50 bytes





                                        (-split"$args"|%{"$($_[0])"}|group).Name.count-eq1


                                        Try it online!



                                        Takes input and splits it on whitespace. Loops through each word, takes the first letter $_[0]. Then groups the letters (case-insensitive by default), takes the names, and verifies the count of those names are -equal to 1. Output is implicit.



                                        The Group).Name.count seems long, but I can't figure out how to shorten it yet.







                                        share|improve this answer












                                        share|improve this answer



                                        share|improve this answer










                                        answered 6 hours ago









                                        AdmBorkBorkAdmBorkBork

                                        27.5k466237




                                        27.5k466237























                                            2












                                            $begingroup$


                                            Clojure, 80 bytes



                                            Try it online!. TIO doesn't support Clojure's standard String library though, so the first version will throw a "Can't find lower-case" error.





                                            (fn[s](use '[clojure.string])(apply =(map first(map lower-case(split s #" ")))))


                                            Ungolfed:



                                            (defn tautogram? [s]
                                            (use '[clojure.string])
                                            (->> (split s #" ") ; Get words
                                            (map lower-case)
                                            (map first) ; Get first letter of each word
                                            (apply =))) ; And make sure they're all the same


                                            I made a version that avoids the import:



                                            (fn [s](apply =(map #(if(<(-(int %)32)65)(int %)(-(int %) 32))(map first(take-nth 2(partition-by #(= % )s))))))

                                            ; -----

                                            (defn tautogram? [s]
                                            (->> s
                                            (partition-by #(= % )) ; Split into words
                                            (take-nth 2) ; Remove spaces
                                            (map first) ; Get first letter
                                            ; Convert to uppercased letter code
                                            (map #(if (< (- (int %) 32) 65) ; If attempting to uppercase puts the letter out of range,
                                            (int %) ; Go with the current code
                                            (- (int %) 32))) ; Else go with the uppercased code
                                            (apply =))) ; And check if they're all equal


                                            But it's 112 Bytes.






                                            share|improve this answer











                                            $endgroup$


















                                              2












                                              $begingroup$


                                              Clojure, 80 bytes



                                              Try it online!. TIO doesn't support Clojure's standard String library though, so the first version will throw a "Can't find lower-case" error.





                                              (fn[s](use '[clojure.string])(apply =(map first(map lower-case(split s #" ")))))


                                              Ungolfed:



                                              (defn tautogram? [s]
                                              (use '[clojure.string])
                                              (->> (split s #" ") ; Get words
                                              (map lower-case)
                                              (map first) ; Get first letter of each word
                                              (apply =))) ; And make sure they're all the same


                                              I made a version that avoids the import:



                                              (fn [s](apply =(map #(if(<(-(int %)32)65)(int %)(-(int %) 32))(map first(take-nth 2(partition-by #(= % )s))))))

                                              ; -----

                                              (defn tautogram? [s]
                                              (->> s
                                              (partition-by #(= % )) ; Split into words
                                              (take-nth 2) ; Remove spaces
                                              (map first) ; Get first letter
                                              ; Convert to uppercased letter code
                                              (map #(if (< (- (int %) 32) 65) ; If attempting to uppercase puts the letter out of range,
                                              (int %) ; Go with the current code
                                              (- (int %) 32))) ; Else go with the uppercased code
                                              (apply =))) ; And check if they're all equal


                                              But it's 112 Bytes.






                                              share|improve this answer











                                              $endgroup$
















                                                2












                                                2








                                                2





                                                $begingroup$


                                                Clojure, 80 bytes



                                                Try it online!. TIO doesn't support Clojure's standard String library though, so the first version will throw a "Can't find lower-case" error.





                                                (fn[s](use '[clojure.string])(apply =(map first(map lower-case(split s #" ")))))


                                                Ungolfed:



                                                (defn tautogram? [s]
                                                (use '[clojure.string])
                                                (->> (split s #" ") ; Get words
                                                (map lower-case)
                                                (map first) ; Get first letter of each word
                                                (apply =))) ; And make sure they're all the same


                                                I made a version that avoids the import:



                                                (fn [s](apply =(map #(if(<(-(int %)32)65)(int %)(-(int %) 32))(map first(take-nth 2(partition-by #(= % )s))))))

                                                ; -----

                                                (defn tautogram? [s]
                                                (->> s
                                                (partition-by #(= % )) ; Split into words
                                                (take-nth 2) ; Remove spaces
                                                (map first) ; Get first letter
                                                ; Convert to uppercased letter code
                                                (map #(if (< (- (int %) 32) 65) ; If attempting to uppercase puts the letter out of range,
                                                (int %) ; Go with the current code
                                                (- (int %) 32))) ; Else go with the uppercased code
                                                (apply =))) ; And check if they're all equal


                                                But it's 112 Bytes.






                                                share|improve this answer











                                                $endgroup$




                                                Clojure, 80 bytes



                                                Try it online!. TIO doesn't support Clojure's standard String library though, so the first version will throw a "Can't find lower-case" error.





                                                (fn[s](use '[clojure.string])(apply =(map first(map lower-case(split s #" ")))))


                                                Ungolfed:



                                                (defn tautogram? [s]
                                                (use '[clojure.string])
                                                (->> (split s #" ") ; Get words
                                                (map lower-case)
                                                (map first) ; Get first letter of each word
                                                (apply =))) ; And make sure they're all the same


                                                I made a version that avoids the import:



                                                (fn [s](apply =(map #(if(<(-(int %)32)65)(int %)(-(int %) 32))(map first(take-nth 2(partition-by #(= % )s))))))

                                                ; -----

                                                (defn tautogram? [s]
                                                (->> s
                                                (partition-by #(= % )) ; Split into words
                                                (take-nth 2) ; Remove spaces
                                                (map first) ; Get first letter
                                                ; Convert to uppercased letter code
                                                (map #(if (< (- (int %) 32) 65) ; If attempting to uppercase puts the letter out of range,
                                                (int %) ; Go with the current code
                                                (- (int %) 32))) ; Else go with the uppercased code
                                                (apply =))) ; And check if they're all equal


                                                But it's 112 Bytes.







                                                share|improve this answer














                                                share|improve this answer



                                                share|improve this answer








                                                edited 4 hours ago

























                                                answered 4 hours ago









                                                CarcigenicateCarcigenicate

                                                2,33911224




                                                2,33911224























                                                    1












                                                    $begingroup$


                                                    05AB1E (legacy), 5 bytes



                                                    #€¬uË


                                                    Try it online!



                                                    #     // split on spaces
                                                    €¬ // get the first letter of each word
                                                    uË // check if they're the same (uppercase) letter





                                                    share|improve this answer









                                                    $endgroup$


















                                                      1












                                                      $begingroup$


                                                      05AB1E (legacy), 5 bytes



                                                      #€¬uË


                                                      Try it online!



                                                      #     // split on spaces
                                                      €¬ // get the first letter of each word
                                                      uË // check if they're the same (uppercase) letter





                                                      share|improve this answer









                                                      $endgroup$
















                                                        1












                                                        1








                                                        1





                                                        $begingroup$


                                                        05AB1E (legacy), 5 bytes



                                                        #€¬uË


                                                        Try it online!



                                                        #     // split on spaces
                                                        €¬ // get the first letter of each word
                                                        uË // check if they're the same (uppercase) letter





                                                        share|improve this answer









                                                        $endgroup$




                                                        05AB1E (legacy), 5 bytes



                                                        #€¬uË


                                                        Try it online!



                                                        #     // split on spaces
                                                        €¬ // get the first letter of each word
                                                        uË // check if they're the same (uppercase) letter






                                                        share|improve this answer












                                                        share|improve this answer



                                                        share|improve this answer










                                                        answered 6 hours ago









                                                        RileyRiley

                                                        11k11448




                                                        11k11448























                                                            1












                                                            $begingroup$

                                                            Perl 5 (-p), 20 bytes



                                                            $_=!/^(.).* (?!1)/i


                                                            TIO






                                                            share|improve this answer









                                                            $endgroup$


















                                                              1












                                                              $begingroup$

                                                              Perl 5 (-p), 20 bytes



                                                              $_=!/^(.).* (?!1)/i


                                                              TIO






                                                              share|improve this answer









                                                              $endgroup$
















                                                                1












                                                                1








                                                                1





                                                                $begingroup$

                                                                Perl 5 (-p), 20 bytes



                                                                $_=!/^(.).* (?!1)/i


                                                                TIO






                                                                share|improve this answer









                                                                $endgroup$



                                                                Perl 5 (-p), 20 bytes



                                                                $_=!/^(.).* (?!1)/i


                                                                TIO







                                                                share|improve this answer












                                                                share|improve this answer



                                                                share|improve this answer










                                                                answered 6 hours ago









                                                                Nahuel FouilleulNahuel Fouilleul

                                                                2,925211




                                                                2,925211























                                                                    1












                                                                    $begingroup$


                                                                    Haskell, 71 bytes





                                                                    f s|c<-fromEnum.head<$>words s=all(`elem`[-32,0,32]).zipWith(-)c$tail c


                                                                    Try it online!






                                                                    Haskell, 61 58 bytes (using Data.Char.toLower)




                                                                    • Saved three bytes thanks to nimi.


                                                                    import Data.Char
                                                                    (all=<<(==).head).(toLower.head<$>).words


                                                                    Try it online!






                                                                    share|improve this answer











                                                                    $endgroup$













                                                                    • $begingroup$
                                                                      @nimi Thank you.
                                                                      $endgroup$
                                                                      – Jonathan Frech
                                                                      3 hours ago
















                                                                    1












                                                                    $begingroup$


                                                                    Haskell, 71 bytes





                                                                    f s|c<-fromEnum.head<$>words s=all(`elem`[-32,0,32]).zipWith(-)c$tail c


                                                                    Try it online!






                                                                    Haskell, 61 58 bytes (using Data.Char.toLower)




                                                                    • Saved three bytes thanks to nimi.


                                                                    import Data.Char
                                                                    (all=<<(==).head).(toLower.head<$>).words


                                                                    Try it online!






                                                                    share|improve this answer











                                                                    $endgroup$













                                                                    • $begingroup$
                                                                      @nimi Thank you.
                                                                      $endgroup$
                                                                      – Jonathan Frech
                                                                      3 hours ago














                                                                    1












                                                                    1








                                                                    1





                                                                    $begingroup$


                                                                    Haskell, 71 bytes





                                                                    f s|c<-fromEnum.head<$>words s=all(`elem`[-32,0,32]).zipWith(-)c$tail c


                                                                    Try it online!






                                                                    Haskell, 61 58 bytes (using Data.Char.toLower)




                                                                    • Saved three bytes thanks to nimi.


                                                                    import Data.Char
                                                                    (all=<<(==).head).(toLower.head<$>).words


                                                                    Try it online!






                                                                    share|improve this answer











                                                                    $endgroup$




                                                                    Haskell, 71 bytes





                                                                    f s|c<-fromEnum.head<$>words s=all(`elem`[-32,0,32]).zipWith(-)c$tail c


                                                                    Try it online!






                                                                    Haskell, 61 58 bytes (using Data.Char.toLower)




                                                                    • Saved three bytes thanks to nimi.


                                                                    import Data.Char
                                                                    (all=<<(==).head).(toLower.head<$>).words


                                                                    Try it online!







                                                                    share|improve this answer














                                                                    share|improve this answer



                                                                    share|improve this answer








                                                                    edited 3 hours ago

























                                                                    answered 6 hours ago









                                                                    Jonathan FrechJonathan Frech

                                                                    6,47311040




                                                                    6,47311040












                                                                    • $begingroup$
                                                                      @nimi Thank you.
                                                                      $endgroup$
                                                                      – Jonathan Frech
                                                                      3 hours ago


















                                                                    • $begingroup$
                                                                      @nimi Thank you.
                                                                      $endgroup$
                                                                      – Jonathan Frech
                                                                      3 hours ago
















                                                                    $begingroup$
                                                                    @nimi Thank you.
                                                                    $endgroup$
                                                                    – Jonathan Frech
                                                                    3 hours ago




                                                                    $begingroup$
                                                                    @nimi Thank you.
                                                                    $endgroup$
                                                                    – Jonathan Frech
                                                                    3 hours ago











                                                                    0












                                                                    $begingroup$


                                                                    JavaScript (Node.js), 54 bytes





                                                                    s=>!s.match(/bw+/g).some(p=s=>p-(p=Buffer(s)[0]&31))


                                                                    Try it online!



                                                                    Or 47 bytes if each word (but the first) is guaranteed to be preceded by a space.






                                                                    share|improve this answer









                                                                    $endgroup$













                                                                    • $begingroup$
                                                                      or in one regex or with a space instead of W
                                                                      $endgroup$
                                                                      – Nahuel Fouilleul
                                                                      5 hours ago












                                                                    • $begingroup$
                                                                      @NahuelFouilleul, using test saves another byte.
                                                                      $endgroup$
                                                                      – Shaggy
                                                                      5 hours ago






                                                                    • 1




                                                                      $begingroup$
                                                                      @NahuelFouilleul You should probably post is separately.
                                                                      $endgroup$
                                                                      – Arnauld
                                                                      5 hours ago










                                                                    • $begingroup$
                                                                      already posted the perl version, i don't master as well javascript, i'm happy to give you a hint
                                                                      $endgroup$
                                                                      – Nahuel Fouilleul
                                                                      5 hours ago
















                                                                    0












                                                                    $begingroup$


                                                                    JavaScript (Node.js), 54 bytes





                                                                    s=>!s.match(/bw+/g).some(p=s=>p-(p=Buffer(s)[0]&31))


                                                                    Try it online!



                                                                    Or 47 bytes if each word (but the first) is guaranteed to be preceded by a space.






                                                                    share|improve this answer









                                                                    $endgroup$













                                                                    • $begingroup$
                                                                      or in one regex or with a space instead of W
                                                                      $endgroup$
                                                                      – Nahuel Fouilleul
                                                                      5 hours ago












                                                                    • $begingroup$
                                                                      @NahuelFouilleul, using test saves another byte.
                                                                      $endgroup$
                                                                      – Shaggy
                                                                      5 hours ago






                                                                    • 1




                                                                      $begingroup$
                                                                      @NahuelFouilleul You should probably post is separately.
                                                                      $endgroup$
                                                                      – Arnauld
                                                                      5 hours ago










                                                                    • $begingroup$
                                                                      already posted the perl version, i don't master as well javascript, i'm happy to give you a hint
                                                                      $endgroup$
                                                                      – Nahuel Fouilleul
                                                                      5 hours ago














                                                                    0












                                                                    0








                                                                    0





                                                                    $begingroup$


                                                                    JavaScript (Node.js), 54 bytes





                                                                    s=>!s.match(/bw+/g).some(p=s=>p-(p=Buffer(s)[0]&31))


                                                                    Try it online!



                                                                    Or 47 bytes if each word (but the first) is guaranteed to be preceded by a space.






                                                                    share|improve this answer









                                                                    $endgroup$




                                                                    JavaScript (Node.js), 54 bytes





                                                                    s=>!s.match(/bw+/g).some(p=s=>p-(p=Buffer(s)[0]&31))


                                                                    Try it online!



                                                                    Or 47 bytes if each word (but the first) is guaranteed to be preceded by a space.







                                                                    share|improve this answer












                                                                    share|improve this answer



                                                                    share|improve this answer










                                                                    answered 6 hours ago









                                                                    ArnauldArnauld

                                                                    79.6k797330




                                                                    79.6k797330












                                                                    • $begingroup$
                                                                      or in one regex or with a space instead of W
                                                                      $endgroup$
                                                                      – Nahuel Fouilleul
                                                                      5 hours ago












                                                                    • $begingroup$
                                                                      @NahuelFouilleul, using test saves another byte.
                                                                      $endgroup$
                                                                      – Shaggy
                                                                      5 hours ago






                                                                    • 1




                                                                      $begingroup$
                                                                      @NahuelFouilleul You should probably post is separately.
                                                                      $endgroup$
                                                                      – Arnauld
                                                                      5 hours ago










                                                                    • $begingroup$
                                                                      already posted the perl version, i don't master as well javascript, i'm happy to give you a hint
                                                                      $endgroup$
                                                                      – Nahuel Fouilleul
                                                                      5 hours ago


















                                                                    • $begingroup$
                                                                      or in one regex or with a space instead of W
                                                                      $endgroup$
                                                                      – Nahuel Fouilleul
                                                                      5 hours ago












                                                                    • $begingroup$
                                                                      @NahuelFouilleul, using test saves another byte.
                                                                      $endgroup$
                                                                      – Shaggy
                                                                      5 hours ago






                                                                    • 1




                                                                      $begingroup$
                                                                      @NahuelFouilleul You should probably post is separately.
                                                                      $endgroup$
                                                                      – Arnauld
                                                                      5 hours ago










                                                                    • $begingroup$
                                                                      already posted the perl version, i don't master as well javascript, i'm happy to give you a hint
                                                                      $endgroup$
                                                                      – Nahuel Fouilleul
                                                                      5 hours ago
















                                                                    $begingroup$
                                                                    or in one regex or with a space instead of W
                                                                    $endgroup$
                                                                    – Nahuel Fouilleul
                                                                    5 hours ago






                                                                    $begingroup$
                                                                    or in one regex or with a space instead of W
                                                                    $endgroup$
                                                                    – Nahuel Fouilleul
                                                                    5 hours ago














                                                                    $begingroup$
                                                                    @NahuelFouilleul, using test saves another byte.
                                                                    $endgroup$
                                                                    – Shaggy
                                                                    5 hours ago




                                                                    $begingroup$
                                                                    @NahuelFouilleul, using test saves another byte.
                                                                    $endgroup$
                                                                    – Shaggy
                                                                    5 hours ago




                                                                    1




                                                                    1




                                                                    $begingroup$
                                                                    @NahuelFouilleul You should probably post is separately.
                                                                    $endgroup$
                                                                    – Arnauld
                                                                    5 hours ago




                                                                    $begingroup$
                                                                    @NahuelFouilleul You should probably post is separately.
                                                                    $endgroup$
                                                                    – Arnauld
                                                                    5 hours ago












                                                                    $begingroup$
                                                                    already posted the perl version, i don't master as well javascript, i'm happy to give you a hint
                                                                    $endgroup$
                                                                    – Nahuel Fouilleul
                                                                    5 hours ago




                                                                    $begingroup$
                                                                    already posted the perl version, i don't master as well javascript, i'm happy to give you a hint
                                                                    $endgroup$
                                                                    – Nahuel Fouilleul
                                                                    5 hours ago











                                                                    0












                                                                    $begingroup$


                                                                    Japt , 5 bytes



                                                                    ¸mÎro


                                                                    Try it



                                                                    ¸mÎro     :Implicit input of string
                                                                    ¸ :Split on spaces
                                                                    m :Map
                                                                    Î : Get first character
                                                                    r :Reduce by
                                                                    o : Keeping the characters that appear in both, case-insensitive
                                                                    :Implicit output as boolean





                                                                    share|improve this answer









                                                                    $endgroup$


















                                                                      0












                                                                      $begingroup$


                                                                      Japt , 5 bytes



                                                                      ¸mÎro


                                                                      Try it



                                                                      ¸mÎro     :Implicit input of string
                                                                      ¸ :Split on spaces
                                                                      m :Map
                                                                      Î : Get first character
                                                                      r :Reduce by
                                                                      o : Keeping the characters that appear in both, case-insensitive
                                                                      :Implicit output as boolean





                                                                      share|improve this answer









                                                                      $endgroup$
















                                                                        0












                                                                        0








                                                                        0





                                                                        $begingroup$


                                                                        Japt , 5 bytes



                                                                        ¸mÎro


                                                                        Try it



                                                                        ¸mÎro     :Implicit input of string
                                                                        ¸ :Split on spaces
                                                                        m :Map
                                                                        Î : Get first character
                                                                        r :Reduce by
                                                                        o : Keeping the characters that appear in both, case-insensitive
                                                                        :Implicit output as boolean





                                                                        share|improve this answer









                                                                        $endgroup$




                                                                        Japt , 5 bytes



                                                                        ¸mÎro


                                                                        Try it



                                                                        ¸mÎro     :Implicit input of string
                                                                        ¸ :Split on spaces
                                                                        m :Map
                                                                        Î : Get first character
                                                                        r :Reduce by
                                                                        o : Keeping the characters that appear in both, case-insensitive
                                                                        :Implicit output as boolean






                                                                        share|improve this answer












                                                                        share|improve this answer



                                                                        share|improve this answer










                                                                        answered 6 hours ago









                                                                        ShaggyShaggy

                                                                        18.9k21667




                                                                        18.9k21667























                                                                            0












                                                                            $begingroup$


                                                                            C# (Visual C# Interactive Compiler), 41 bytes





                                                                            n=>n.Split().GroupBy(c=>c[0]|32).Single()


                                                                            Throws an exception if false, nothing if true.



                                                                            Try it online!






                                                                            share|improve this answer









                                                                            $endgroup$


















                                                                              0












                                                                              $begingroup$


                                                                              C# (Visual C# Interactive Compiler), 41 bytes





                                                                              n=>n.Split().GroupBy(c=>c[0]|32).Single()


                                                                              Throws an exception if false, nothing if true.



                                                                              Try it online!






                                                                              share|improve this answer









                                                                              $endgroup$
















                                                                                0












                                                                                0








                                                                                0





                                                                                $begingroup$


                                                                                C# (Visual C# Interactive Compiler), 41 bytes





                                                                                n=>n.Split().GroupBy(c=>c[0]|32).Single()


                                                                                Throws an exception if false, nothing if true.



                                                                                Try it online!






                                                                                share|improve this answer









                                                                                $endgroup$




                                                                                C# (Visual C# Interactive Compiler), 41 bytes





                                                                                n=>n.Split().GroupBy(c=>c[0]|32).Single()


                                                                                Throws an exception if false, nothing if true.



                                                                                Try it online!







                                                                                share|improve this answer












                                                                                share|improve this answer



                                                                                share|improve this answer










                                                                                answered 6 hours ago









                                                                                Embodiment of IgnoranceEmbodiment of Ignorance

                                                                                2,168125




                                                                                2,168125























                                                                                    0












                                                                                    $begingroup$


                                                                                    Perl 6, 19 bytes





                                                                                    {[eq] m:g/<<./}o&lc


                                                                                    Try it online!






                                                                                    share|improve this answer









                                                                                    $endgroup$


















                                                                                      0












                                                                                      $begingroup$


                                                                                      Perl 6, 19 bytes





                                                                                      {[eq] m:g/<<./}o&lc


                                                                                      Try it online!






                                                                                      share|improve this answer









                                                                                      $endgroup$
















                                                                                        0












                                                                                        0








                                                                                        0





                                                                                        $begingroup$


                                                                                        Perl 6, 19 bytes





                                                                                        {[eq] m:g/<<./}o&lc


                                                                                        Try it online!






                                                                                        share|improve this answer









                                                                                        $endgroup$




                                                                                        Perl 6, 19 bytes





                                                                                        {[eq] m:g/<<./}o&lc


                                                                                        Try it online!







                                                                                        share|improve this answer












                                                                                        share|improve this answer



                                                                                        share|improve this answer










                                                                                        answered 5 hours ago









                                                                                        nwellnhofnwellnhof

                                                                                        7,38011128




                                                                                        7,38011128























                                                                                            0












                                                                                            $begingroup$

                                                                                            Java, (36 bytes)



                                                                                            s->!s.matches("(?i)(.).* (?!\1).*")


                                                                                            TIO






                                                                                            share|improve this answer









                                                                                            $endgroup$













                                                                                            • $begingroup$
                                                                                              I think the input is allowed to start with a space, and this doesn't work for input like that.
                                                                                              $endgroup$
                                                                                              – Sara J
                                                                                              4 hours ago


















                                                                                            0












                                                                                            $begingroup$

                                                                                            Java, (36 bytes)



                                                                                            s->!s.matches("(?i)(.).* (?!\1).*")


                                                                                            TIO






                                                                                            share|improve this answer









                                                                                            $endgroup$













                                                                                            • $begingroup$
                                                                                              I think the input is allowed to start with a space, and this doesn't work for input like that.
                                                                                              $endgroup$
                                                                                              – Sara J
                                                                                              4 hours ago
















                                                                                            0












                                                                                            0








                                                                                            0





                                                                                            $begingroup$

                                                                                            Java, (36 bytes)



                                                                                            s->!s.matches("(?i)(.).* (?!\1).*")


                                                                                            TIO






                                                                                            share|improve this answer









                                                                                            $endgroup$



                                                                                            Java, (36 bytes)



                                                                                            s->!s.matches("(?i)(.).* (?!\1).*")


                                                                                            TIO







                                                                                            share|improve this answer












                                                                                            share|improve this answer



                                                                                            share|improve this answer










                                                                                            answered 4 hours ago









                                                                                            Nahuel FouilleulNahuel Fouilleul

                                                                                            2,925211




                                                                                            2,925211












                                                                                            • $begingroup$
                                                                                              I think the input is allowed to start with a space, and this doesn't work for input like that.
                                                                                              $endgroup$
                                                                                              – Sara J
                                                                                              4 hours ago




















                                                                                            • $begingroup$
                                                                                              I think the input is allowed to start with a space, and this doesn't work for input like that.
                                                                                              $endgroup$
                                                                                              – Sara J
                                                                                              4 hours ago


















                                                                                            $begingroup$
                                                                                            I think the input is allowed to start with a space, and this doesn't work for input like that.
                                                                                            $endgroup$
                                                                                            – Sara J
                                                                                            4 hours ago






                                                                                            $begingroup$
                                                                                            I think the input is allowed to start with a space, and this doesn't work for input like that.
                                                                                            $endgroup$
                                                                                            – Sara J
                                                                                            4 hours ago













                                                                                            0












                                                                                            $begingroup$


                                                                                            Brachylog, 5 bytes



                                                                                            ḷṇ₁hᵛ


                                                                                            Try it online!



                                                                                                     The input
                                                                                            ḷ lowercased
                                                                                            ṇ₁ and split on spaces
                                                                                            hᵛ is a list of elements which all start with the same thing.





                                                                                            share|improve this answer









                                                                                            $endgroup$













                                                                                            • $begingroup$
                                                                                              I just now noticed that this has to be able to handle punctuation, but without any punctuated test cases I can't tell if this does or doesn't still work...
                                                                                              $endgroup$
                                                                                              – Unrelated String
                                                                                              4 hours ago
















                                                                                            0












                                                                                            $begingroup$


                                                                                            Brachylog, 5 bytes



                                                                                            ḷṇ₁hᵛ


                                                                                            Try it online!



                                                                                                     The input
                                                                                            ḷ lowercased
                                                                                            ṇ₁ and split on spaces
                                                                                            hᵛ is a list of elements which all start with the same thing.





                                                                                            share|improve this answer









                                                                                            $endgroup$













                                                                                            • $begingroup$
                                                                                              I just now noticed that this has to be able to handle punctuation, but without any punctuated test cases I can't tell if this does or doesn't still work...
                                                                                              $endgroup$
                                                                                              – Unrelated String
                                                                                              4 hours ago














                                                                                            0












                                                                                            0








                                                                                            0





                                                                                            $begingroup$


                                                                                            Brachylog, 5 bytes



                                                                                            ḷṇ₁hᵛ


                                                                                            Try it online!



                                                                                                     The input
                                                                                            ḷ lowercased
                                                                                            ṇ₁ and split on spaces
                                                                                            hᵛ is a list of elements which all start with the same thing.





                                                                                            share|improve this answer









                                                                                            $endgroup$




                                                                                            Brachylog, 5 bytes



                                                                                            ḷṇ₁hᵛ


                                                                                            Try it online!



                                                                                                     The input
                                                                                            ḷ lowercased
                                                                                            ṇ₁ and split on spaces
                                                                                            hᵛ is a list of elements which all start with the same thing.






                                                                                            share|improve this answer












                                                                                            share|improve this answer



                                                                                            share|improve this answer










                                                                                            answered 4 hours ago









                                                                                            Unrelated StringUnrelated String

                                                                                            1,331211




                                                                                            1,331211












                                                                                            • $begingroup$
                                                                                              I just now noticed that this has to be able to handle punctuation, but without any punctuated test cases I can't tell if this does or doesn't still work...
                                                                                              $endgroup$
                                                                                              – Unrelated String
                                                                                              4 hours ago


















                                                                                            • $begingroup$
                                                                                              I just now noticed that this has to be able to handle punctuation, but without any punctuated test cases I can't tell if this does or doesn't still work...
                                                                                              $endgroup$
                                                                                              – Unrelated String
                                                                                              4 hours ago
















                                                                                            $begingroup$
                                                                                            I just now noticed that this has to be able to handle punctuation, but without any punctuated test cases I can't tell if this does or doesn't still work...
                                                                                            $endgroup$
                                                                                            – Unrelated String
                                                                                            4 hours ago




                                                                                            $begingroup$
                                                                                            I just now noticed that this has to be able to handle punctuation, but without any punctuated test cases I can't tell if this does or doesn't still work...
                                                                                            $endgroup$
                                                                                            – Unrelated String
                                                                                            4 hours ago



                                                                                            Popular posts from this blog

                                                                                            A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

                                                                                            Calculate evaluation metrics using cross_val_predict sklearn

                                                                                            Insert data from modal to MySQL (multiple modal on website)