SAP Community Coding Challenge #3
[Sep. 18th 2020] Winner Announcement! ?
Vote is in! A winner has been chosen for the challenge! Please check out the announcement below!
[Sep. 11th 2020] Voting is now LIVE!
To vote on the winner, simply go to this Community question. The finalists are all listed as answers. Upvote the answer you believe is best.
[Aug. 12th 2020] Deadline Extension Update
Due to the summer vacation season ⛱, we have decided to give everyone some extra time to finish up the challenge! We will now be accepting your solution until September 7th, 2020 23:59:59 Pacific Daylight Time (PDT) / UTC-7
[Aug. 7th 2020] Midpoint Challenge Update
If you need help getting started with the challenge, please watch the following video for a deep dive into the concepts surrounding the challenge!
[Aug. 3rd 2020] SAP Community Coding Challenge #3
Welcome to the third challenge in the SAP Community Coding Challenge Series. Just like the previous challenges, we have an exciting problem for you to take on to test and show off your coding skills with the SAP Community. ?
So, let’s dive into the Challenge!
Challenge – How Many Emojis?
Let’s explore emoji manipulation using Java.
SAP is a member of the Unicode Technical Committee (UTC) who is responsible for developing and maintaining the Unicode Standards which include emojis. In the current Unicode standard list (Emoji 13.0), there are over 3,304 emojis available. One of the interesting quirks of emojis is that not all emojis are the same. For example, do you expect the length of two emojis to be the same or different below?
The truth is ??is actually made up of two emojis: ? and ?. Some emojis are created by joining multiple emojis together using the Zero Width Joiner (ZWJ), a special Unicode character (
\u200D) that combines two or more emojis to create a brand new emoji.
In Java, the length of ? calculates to 2 and ??calculates to 5. The reason why the length of ??is equal to 5 instead of 4 is because the length of ZWJ (1) needs to be added to 2 emojis that make up ??. In short,
?? = ? + ZWJ + ?
Now, here comes the challenge. Can you tell me which emojis make up ????? How about when you combine ?? together with ZWJ, what new emoji does it create?
So, for this challenge, we want you to design two methods. The first should be named removeJoiner. It should accept a string of one emoji as a parameter and returns all individual emojis combined to display a single emoji. The second method you must write should be called addJoiner. It should accept a string of multiple emojis as a parameter and returns the combined emoji. (Before getting started, please read through the submission section for requirements that must be met)
Please read carefully to the instructions and submit both the answers and the coding solution that meets the following requirements.
- The solution must be written in Java
- The solution method signatures must match the description from the challenge above
- The solution method produces the correct answer
- The solution must be shared in the form of a link to your code
- Use your choice of any one of these three methods to submit your solution:
Once you have a solution you are happy with, please do the following:
- Follow this blog post (use the green “Follow” button at the top left of this page)
- Email us at firstname.lastname@example.org with the following:
- A link to your solution (Please do not send code in that email; use one of the methods listed above for submission)
- A link to your public SAP Community profile
- A subject prefixed with “CCC3”
You have until
August 17th, 2020 September 7th, 2020 23:59:59 Pacific Daylight Time (PDT) / UTC-7 to submit your coding solution. The Community and Developer Advocates team at SAP will then do the first round of judging, narrowing down to five finalists based on accuracy, style, best practices, creativity, and more! We will then post these five finalists in a Community Q&A entry so that everyone will have a chance to vote on the best overall solution.
As we have done in the past, the prize for the winner of the Coding Challenge will be a No-Prize. The coveted No-Prize also comes as usual with the unending adulation & admiration of the community of fellow developers.
GLHF: Good luck and have fun! ?