## DEV Community is a community of 788,395 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Kim Hallberg

Posted on • Originally published at devdojo.com on

# Solving Multisoft's Monthly Code Challenge

Swedish software company Multisoft does a code challenge each month, where it provides a fun little challenge for developers to solve. They do this in hopes of finding new candidates for potential employment.

In this post, we will go over and solve this month's following code challenge.

``````input = "0219247151", output = ""

for (i in 1 .. length(input))
if (input[i]%2 == input[i-1]%2)
output += max(input[i], input[i-1])
``````

The challenge is written in pseudo-code and we want to know what will be stored in the `output` variable when the algorithm is finished.

The algorithm in itself is relatively simple and doesn't have very many working parts, but can be tricky if you're not paying close attention to the setup.

The setup for the algorithm creates two variables, we will call them `input` and `output` for simplicity. Our `input` stores our initial numbers, and `output` will store the result set of our `for` operation.

## The Algorithm.

The algorithm will step over each number in the `input` string starting from the second index through to the last number, in each iteration we will check if the current and previous index have the same remainder when divided by `2`.

When both indexes have the same remainder, we add the maximum value to our `output` variable.

## The Solution.

Given the above algorithm, we could expect different results based on how a language handles string and integer concatenation.

If for instance, our language coerces the string returned from `max` to integers during the concatenation assignment, we could end up adding each result to each other instead of concatenating them.

`+=` usually indicated an arithmetic addition of the previous value added to our new value. In this instance though it indicated a string concatenation assignment.

Given that, stepping through the algorithm will look something like this.

Storing the final string value of 294755 in to the `output` variable.

## In Conclusion.

This was a fun little challenge done by Multisoft, and I look forward to next month's challenge.

### More challenges.

If you're interested is solving coding challenges, check out some of the links below.