Go a little bit deeper into the Welcome Corner with blog posts. Learn how to get started in SAP Community and get tips on maximizing your participation.
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. ?
We’ve selected a different language for past Coding Challenges; this time we’re going to let you show off your Java skills. Don’t worry if you are not familiar with the Java language at all, you should still be able to participate and develop a solution. The Java language has a long history in the SAP universe. Like ABAP and JavaScript, Java is available for app development and customization in many SAP systems. Java appears in on-prem frameworks such as SAP Process Integration and SAP Cloud Platform in both the Cloud Application Programming Model (CAP/Java) and Spring Boot.
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)
Method call
Result
removeJoiner("??")
??
removeJoiner("????")
???
Method call
Result
addJoiner("??")
??
addJoiner("??")
???
Submission & Judging
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:
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, 2020September 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.