4

Going forward, please use this post to give feedback or ask questions about Stack Overflow Coding Challenges. This can include specific concerns about individual challenges you are working on, as well as general feedback about the feature.

To ask a question about, or provide feedback on, a specific challenge please include the challenge number (visible in the title of each challenge) and/or the link to that challenge in the first line of your reply to this post.

On that note, the first challenge of 2026 (authored by someone you might recognize) is now available!

1
  • 2
    Thank you for replacing the generated image on Challenge 16 with a stock one! Commented Feb 12 at 16:48

10 Answers 10

15

Syntax highlighting seems broken on challenge pages - code appears as plain unformatted text despite use of language tags on the code fence.

2
8

I don't care about the challenges at all. The only way I interact with them is checking the notification icon that sometimes shows in the menu. I'm not sure what the icon means. Probably something along the lines of "you have 1 new challenge".

As I stated, I don't care about that but the icon is annoying. It seems like something important and it hijacks my focus but then it turns out that it's just some stupid challenge. I have to go to the challenge page and back to get rid of it. Please stop.

1
  • 5
    You can hide side-menu (reset "Show left navigation" in preferences), I did and wasn't aware about it until this hot meta post appears. Commented Jan 14 at 12:15
6

For Challenge #16: Change is the only constant:

The inputs are in my opinion not all that well chosen:

  • The following three are included twice:

    [[1,2,3,7],[3,2,1,1],13]
    [[1,3,4,7],[2,2,1,1],12]
    [[2,4,6,8],[2,2,1,1],14]
    
  • There are no inputs that have an empty list of available denominations. The following inputs would have been useful additions:

    [[],[],0]
    [[],[],1]
    [[1],[0],0]
    [[1],[0],1]
    
  • None of the inputs have a set of more than 4 denominations, and none of the expected outputs is great enough to pose a real challenge in terms of memory allocation or execution time. It would have been nice had there been inputs with more denominations and greater target amounts, expecting greater outputs, so to make it a bit more challenging.

1
  • Thanks for the excellent feedback. I agree that the test cases could have been improved. Will try to do better next time. Commented Mar 13 at 5:57
4

Challenge 16

The link to input file seems broken - it gives a text/html with no actual content that I can discern (just masses of Javascript). Can we have a text/plain link that curl (etc.) can pipe into our programs? Or just include the input in the question - if it's only 100 lines, that really shouldn't be a problem.

3
  • 1
    It's a link to a json file stored in Google drive. Should be able to download it in the drive page. (That's what I did, at least) Commented Feb 22 at 20:54
  • 1
    No, it just goes to an empty page. Perhaps if you're reckless enough to run Google's scripts something is reachable, but we shouldn't have to do that (in fact, why do we allow reference to off-site materials in challenges, when that wouldn't be acceptable for a normal question?) Commented Feb 23 at 7:52
  • @TobySpeight thanks for the feedback! we'll try to do this on future challenges. Commented Feb 25 at 5:59
2

This is now fixed. The word list got amended.


For Challenge #15, the word list has been updated since first publication. However, as of Revision 3, the solution is now not unique. There are two options:

  1. Update the word list again to make the solution unique.
  2. Have participants output all permutations in some form.

I suspect #1 above would be the preferred option.

3
  • The published list seems based on an amount of characters that are all already present as first ones in each entry of the list, making the order of remaining characters of every word apparently not that relevant, as it would be enough to simply get the first "not yet known" character of each word, which doesn't really seem like a real challenge to me. I sincerely hope that "challenge standards" are not that low, so I'm led to think that I'm not getting something from the explanation; am I? Commented Jan 13 at 4:22
  • @musicamante not all the symbols are present as first letters. Commented Jan 13 at 5:52
  • @M--: True, one is missing. Maybe you can provide other sample dictionaries (hopefully more challenging) for testing the algorithms? Tnx. Commented Jan 22 at 9:03
2

Very nice Challenge #15. For me the chameleon letter was a major clue, which could have been avoided by saying the words are in uppercase instead of lowercase.

2
  • Fair enough. I wasn't trying to make the bonus part that tough to crack, but I guess I made it too simple :) Commented Jan 15 at 20:14
  • 1
    You: "could have been avoided by saying the words are in uppercase instead of lowercase" Aha, another major clue! Now we rule out languages written with e.g. the Arabic script although this is an alphabetic one, since Arabic is unicase (meaning no distinction between upper and lower case). The Arabic alphabet has the known property that many letters look different depending on their position in a word. Commented Jan 19 at 15:51
2

Can we have a sort filter by language? If I'm interested in let's say elisp or SQL solution, I don't want to scroll through numerous python submissions or use Ctrl+F.

5
  • What if a submission used multiple technologies? And how are supposed to detect the ProgLang reliably? That doesn't mean I am happy with the UI. It is sluggish and very hard to navigate. In any case, you might find this userscript of mine useful: meta.stackoverflow.com/a/435038 Commented Jan 16 at 19:54
  • 2
    Just that it may not cover all edge cases doesn't mean it's not a useful feature. +1. The language should be detected by tag or by ```kotlin in the text. Commented Jan 19 at 23:15
  • Perhaps, I should not have used "sort" but drill-down by some tag instead. So if there are multiple technologies just tag/autodetect those as such. Commented Jan 28 at 18:12
  • @M-- why is multiple technologies a problem? There are several questions tagged with more than one language, doesn't seem to be a problem there. That's also a way you could "detect" them, have the user (maybe also the comunity) add a "tag" (of sorts). Commented Jan 28 at 19:36
  • @cafce25 I am not arguing against this, per se, just saying it needs careful implementation since "auto-detecting" the language will fail (as it has before: meta.stackoverflow.com/q/436431). So it should rely on users explicitly including the tags/langs. Commented Jan 28 at 20:14
2

: MSB-first refers to how we assemble LSBs into bytes (characters).


Challenge 18: Hidden in Plain Sight

Is it possible that there is a typo in the last bullet point of Task 1?

"Followed by the message itself, ASCII characters encoded by groups of 8bit, most-significant bit (MSB) first"

Instead of MSB should it be LSB? I found the message using LSB but not using MSB.

9
  • 1
    The MSB of each ascii byte first, I believe. Commented Apr 17 at 1:37
  • What I'm wondering about is how the PNG format interacts with the description of the format. Supposed to skip 18 bits before extracting data, but the PNG header is longer than that... Commented Apr 17 at 1:38
  • @Shawn You need to look at the pixel values, not at the raw image bytes. Commented Apr 17 at 6:40
  • @JeanotZubler So the unstated first step is using/writing a png reader before you can even start with the actual problem? Commented Apr 17 at 7:39
  • 1
    @Shawn You are obviously free to do that. But I'd recommend using a library. E.g. in Python you can use cv2.imread("img.png"), and I'm sure there are similar libraries in other languages. Commented Apr 17 at 8:03
  • When I have been doing raw data analysis, the math does not work. The string "Test Test Test..." takes up 17 ascii characters, which would equate to parsing through 136 bytes. In checking out the first two stamp sized images, they are only 171 bytes in length and the start of the "IDAT" section is at the forty-second byte. The first 41 bytes are for the header and definition of the "IDAT" literal. So, adding 41 and 136 equates to 177, which is larger than the image. Did I possibly not properly download the images? Commented Apr 19 at 19:11
  • 1
    You did use MSB: int(message_ascii_string[i:i+8], 2). The bits are LSB from pixels, but when you group 8 bits to form a character, you do it left to right (MSB). Commented Apr 19 at 21:40
  • Thanks for the response back. Looks like your solution and suggestion path is via Python. I've been attempting to do this with a "C" program. I will install the needed cv2 packages and hopefully see what the array data looks like from that perspective. I still want to try a "C" approach, but possibly looking at the data via a Python intermediate program will provide enlightenment. Commented Apr 19 at 23:40
  • Again, thanks. Following my initial analysis of using a simple Python program, and seeing what "cv2.imread" is doing, I discovered that the data in the IDAT chunk needs to be decompressed using "libpng" functions. This gives me a path to pursue. Commented Apr 20 at 2:18
-2

How do I propose a new challenge?

1
-2

I don't know what the idea behind this is, but it comes across as "hello fellow developers, please send us the code you would use to solve these hyper-specific and hard to generalize code problems so that we may train our AI on your solutions, also please don't use AI in the process".
It's not a good look imo.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.