Image for post
Image for post

#TuentiChallenge7: Show me the numbers

Jose Maria Palacio
May 22, 2017 · 3 min read

7 Days

158,237 Lines of code

2,736 Attempts to solve a problem

2,051 Problems correctly solved

1,490 People registered

592 People solving at least one problem

Participants

This year, the Tuenti Challenge had 15 problems instead of the usual 20, but that didn’t make it any easier!

592 people passed the first problem and only 4 of them reached the final problem. However, this year no one was able to solve it! In fact, the maximum number of problems correctly solved by a contestant was 13.

Problem 5 was the first daemon based and tricky problem, making it a major hurdle for most people; a lot of contestants got stuck there and chose to skip it.

There were 2 stoppers this year (problems with less correct solves than the next one); problem 6, which was the first non-trivial algorithmic problem, and problem 9, which had a very tricky solution. What’s more, a lot of people failed problem 11, which was also algorithmic.

As you can, see the wrong submissions rate for these problems is very high compared to the rest.

Image for post
Image for post
Image for post
Image for post

Languages

As is the case every year, a lot of different languages have been used to solve the problems, a total of 29 languages used this year. We already talked about the most popular ones in the sneak peek, but the rest of them are also interesting. You can find some really unique languages in there!

Pascal was only used in one solution, while there were two solutions in AWK and TypeScript and three in Visual Basic. Special mention is also due to two of the Visual Basic solutions, which were embedded inside a Microsoft Access Database (only God knows why).

The following graph shows the evolution of the most used languages on every challenge (excluding challenge 5, where most people submitted plain text with instructions):

Image for post
Image for post

As you can see Python dominates in almost all the problems. Some special cases are challenge 7, where a lot of people used JavaScript as it was a natural language for the proposed problem. In challenge 13, the statement provided an algorithm in C++, so most solutions are in C++. You can also see that one of the top contestants almost exclusively used Rust, so the language is more visible as we reach the later problems.

Lines of code

The shortest solution this year (excluding the ones from problem 5), is a 154 bytes long code in Python 2, which solves the first problem.

The longest solution is a Python code for challenge 10, which includes the dates and secrets extracted from the repository hardcoded in the code itself. These make the file 3655 lines long. If we count external files, the winner is a solution in Scala which includes a file with Unicode data, which makes it 30592 lines long.

The average lines of code per solution for the most used languages are shown below:

Image for post
Image for post

This year’s averages are significantly lower than last year’s. This is likely due to the fact that the first 4 problems, which obviously have the most solutions, were shorter to code than the ones in past contests. You can also see that Rust appears at the top of the graph, as almost nobody used it except for one of the contestants who reached the final problem.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store