5
\$\begingroup\$

This is an post, so in this challenge every answer (except the first answer) depends on the previous answer.

The goal of this challenge is to output the restricted characters. The restricted characters are the most common n - 1 characters of all answers, if happens to be a tie, then the characters with the lowest UTF-8 range is restricted.

The max bytes for every answer is:

\begin{align}2n+60\end{align}

where n is answer number.

Rules

  • The answers only output the restricted characters, no newlines, no other characters like that.

    • The code may output the restricted characters exactly once, in any order.
  • Standard loopholes are forbidden by default.

  • No answerer may answer twice in a row.

  • No languages may be reused in the last 5 answers.

  • Every answer takes empty or no input, and outputs to STDOUT.

  • The wrong answers (that break rules or don't do that this challenge say) are completely ignored if this answer is 10 minutes old, and should be deleted.

The last answer after 5 days of the challenge not getting answers wins.

Example

First answer

# 1: Python 3, 13 bytes

    print(end="")

Next charset: `"` [link]()

The second answer should output ". If the second answer's code is ppaaa, then the third answer should output either pa or ap (because these are the most common characters in all answers), and doesn't use these characters.

Note: The scoring formula is based on the byte count and the answer number. The goal is to output the restricted characters efficiently while adhering to the specified byte limits.

Have a great day!

Clarifications

  • The banned character set is the N most common characters of the concatenation of all answers.
\$\endgroup\$
6
  • \$\begingroup\$ The intent is that each answer must print the most common character of each answer before it, right? The wording reads a bit like you wanted the banned character set to be the N most common characters of the concatenation of all answers. \$\endgroup\$
    – noodle man
    Nov 12 at 12:57
  • \$\begingroup\$ @noodleman Yes, I mean the banned character set to be the N most common characters of the concatenation of all answers.... I'll try to change the wording before it goes too late. \$\endgroup\$
    – Fmbalbuena
    Nov 12 at 17:21
  • 1
    \$\begingroup\$ The challenge repeatedly mentions "the restricted characters", but seems to nowhere mention what the restriction is. \$\endgroup\$
    – Wheat Wizard
    Nov 13 at 3:03
  • \$\begingroup\$ "No languages may used in the last 5 answers" do you mean resued? \$\endgroup\$
    – nextwayup
    Nov 13 at 22:07
  • \$\begingroup\$ Does the output have to include each character in the set exactly once, or can there be duplicates? \$\endgroup\$
    – noodle man
    Nov 14 at 18:49

9 Answers 9

4
\$\begingroup\$

4: Uiua, 10 bytes

&pf-1$ ,=?

Uiuapad

New banned characters: +-<>

\$\endgroup\$
8
  • \$\begingroup\$ Seems to be outputting an r and not Ɛ? \$\endgroup\$
    – noodle man
    Nov 12 at 12:26
  • \$\begingroup\$ Unless I've misunderstood the question, that's the assignment, right? The 3 most common characters in all previous answers combined were r, e and '. \$\endgroup\$
    – regr4444
    Nov 12 at 13:13
  • \$\begingroup\$ I interpreted it as this: When an answer is posted, the most common character of that answer is added to a running character set. The next answer must print the whole character set without using any of the characters from it. I posted a comment under the question to ask for clarification. (All I know is that this is how l4m2 seems to have interpreted it, so it's how I interpreted it in my submission; lyxal's answer would have been correct under either interpretation.) \$\endgroup\$
    – noodle man
    Nov 12 at 13:17
  • \$\begingroup\$ OP has clarified that your interpretation was correct, I’m waiting to change my answer until @l4m2 updates theirs. \$\endgroup\$
    – noodle man
    Nov 12 at 22:17
  • \$\begingroup\$ Whoops, but it is outputting a newline. Is it okay if I amend it (cause you're still waiting anyway)? (Just change &p into &pf) \$\endgroup\$
    – regr4444
    Nov 12 at 22:25
3
\$\begingroup\$

9: Brachylog, 43 bytes (37 characters)

[32,43,9,92,114,99,101,10]~ạw

Try it online!

Prints <space>+<tab>\rce<newline>. Next set: <space>+<tab><newline>1\r,c

\$\endgroup\$
2
  • \$\begingroup\$ A mistake on my part; the set you should print is <space>+<tab><newline>\rce \$\endgroup\$ Nov 16 at 12:25
  • \$\begingroup\$ @UndoneStudios Ah, thanks for letting me know, I fixed my submission \$\endgroup\$
    – Kroppeb
    Nov 20 at 13:39
3
\$\begingroup\$

3: brainfuck, 42 bytes

++++++++++[->++++++++++>+<<]>+.[->+<]>+++.

Try it online!

Outputs er. Can't fit in js

\$\endgroup\$
0
3
\$\begingroup\$

6: C# (Shell), 54 bytes

$"{(char)43}{(char)62}{(char)101}{(char)46}{(char)92}"

Prints +>e.\. Has to be in a shell rather than standalone, since there's no way to output in C# without e otherwise.

Next set is +r()ac (link)

Try it online!

\$\endgroup\$
4
  • \$\begingroup\$ The output includes quotes and a trailing newline, which is not a valid answer. Can you change the answer a bit? \$\endgroup\$
    – Fmbalbuena
    Nov 14 at 19:06
  • \$\begingroup\$ Hm, so unfortunately the C# shell automatically formats variables (a string literal like this implicitly creates a variable) based on its datatype, which means adding "" and a newline for strings. The underlying variable doesn't actually have these so I can't remove them from the output. So it's up to you whether this is acceptable; if not I will just delete this answer. \$\endgroup\$
    – Acer
    Nov 15 at 10:41
  • \$\begingroup\$ You can delete your answer, but you also can edit your answer to be correct. \$\endgroup\$
    – Fmbalbuena
    Nov 15 at 12:53
  • 1
    \$\begingroup\$ I've updated the link, dotnetfiddle doesn't add the extra formatting so it's now correct. \$\endgroup\$
    – Acer
    Nov 15 at 13:35
2
\$\begingroup\$

1: Python 3, 18 bytes

while True:
	break

Try it online!

e - 3 (Now banned)
r - 2
<tab> - 1
<newline> - 1
<space> - 1
: - 1
T - 1
a - 1
b - 1
h - 1
i - 1
k - 1
l - 1
u - 1
w - 1

This code I stolen from ChatGPT makes easier to make the character list, but you have to combine answers manually.

\$\endgroup\$
2
\$\begingroup\$

2: Keg, 2 bytes

Ɛ

Try it online!

Simply prints the letter e and exits.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ I changed your byte count, because every answer should use UTF-8, not other char encodings. \$\endgroup\$
    – Fmbalbuena
    Nov 12 at 17:18
2
\$\begingroup\$

7: Whitespace, 73 bytes

The byte-count is 1 below the limit of \$2\times7+60\$. :)

[S S S T    T   T   S S T   N
_Push_57_c][S S S T T   S T T   T   N
_Push_55_a][S S T   T   N
_Push_-1_)][S S T   T   S N
_Push_-2_(][S S S T S S T   S S S N
_Push_72_r][S S S T N
_Push_1_+][N
S S N
_Create_Label_LOOP][S S S T S T S T S N
_Push_42][T S S S _Add_top_two][T   N
S S _Print_as_char][N
S N
N
_Jump_to_Label_LOOP]

Letters S (space), T (tab), and N (new-line) added as highlighting only.
[..._some_action] added as explanation only.

Try it online (with raw spaces, tabs and new-lines only).

Explanation in pseudo-code:

Push the codepoint-integers minus 42 of string "ca)(r+"
Start LOOP:
  Add 42 to the top integer
  Print it as character to STDOUT
  Go to next iteration of LOOP

The constant 42 is generated by this Java program, based on this Whitespace tip of mine.


The next set is <space>+<tab><newline>r().

\$\endgroup\$
2
\$\begingroup\$

8: Python 2, 34 bytes

exec"p\162int'\40\t\53\50\51\162'"

Prints <space><tab>+()r<newline>. Next set: <space>+<tab><newline>\rce

\$\endgroup\$
2
  • \$\begingroup\$ Did you just include an extra char . in your set? \$\endgroup\$
    – Fmbalbuena
    Nov 16 at 10:44
  • \$\begingroup\$ You're right; I saw what appeared to be a . in the Whitespace answer. Hope it won't change the sets much... \$\endgroup\$ Nov 16 at 12:21
1
\$\begingroup\$

5: JavaScript (Node.js), 36 bytes

process.stdout.write("\53\55\74\76")

Attempt This Online!

This prints +-<>. I previously had a more interesting GolfScript solution here, but I realized that it contained a + which made it invalid.

Next charset is +>e.\ (link)

\$\endgroup\$
8
  • \$\begingroup\$ I've updated mine, you're good to go \$\endgroup\$
    – regr4444
    Nov 13 at 18:25
  • \$\begingroup\$ Why are 6 characters banned, shouldnt there only be 5? \$\endgroup\$
    – nextwayup
    Nov 13 at 22:09
  • \$\begingroup\$ @regr4444 Done :) \$\endgroup\$
    – noodle man
    Nov 13 at 22:12
  • 1
    \$\begingroup\$ @nextwayup Sorry, that was a typo \$\endgroup\$
    – noodle man
    Nov 13 at 22:13
  • \$\begingroup\$ Apologies if I'm misunderstanding here, but wouldn't + be a banned character, which means it can't be used in this answer? \$\endgroup\$
    – Acer
    Nov 14 at 9:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.