Task about algorithms

  • 12
The inhabitants of Planet Linear Chaos give their children sorting tasks instead of Rubik's cubes. Here's a pastime enjoyed by small ordered isomorphs. Knock yourself out: after the user enters a list of words (and numbers) from the keyboard, the program should display the words in ascending order, and the numbers in descending order.
You can't complete this task, because you're not signed in.
Comments (19)
  • Popular
  • New
  • Old
You must be signed in to leave a comment
Level 19, Tampa, United States
22 March, 22:01
I am of the opinion that definitielly using collections was better, faster. Mine was for loop twice, one to split the numbers and strings into two arrays then again to put them back according to the entered sequence, that is a small detail is not mentioned but if you see the output 22 and zero are one after the other, a smal if else statement to check for the requirements and poof.
Level 11, Banja Luka, Bosnia and Herzegovina
18 March, 12:13
Lets just say the proposed way of solving this task isn't the most intuitive one...😁
Jurij Thmsn
Level 23, Flensburg, Germany
31 January, 14:21
I always love the Tasks about algorithms 😍
Level 15, United Kingdom
2 October 2020, 21:21
Apparently, I overcomplicated this. I was almost certain I needed to use hashmaps in this one and use the array's indeces as keys. After checking the Help section it seems there was a faster way without wasting memory space. Oh well, it worked so I'm still happy with the result.
Lucas Hoage
Level 14, Savannah, United States
6 June 2020, 18:18
I thought I was so slick converting the int values using String.ValueOf and then running IsGreaterThan to do the comparison, and then pipe the results in reverse order back into the array. I can't believe CodeGym wouldn't allow that but they allowed us to run Collections to fiddle with the numbers. Come onnn, that was a great way to do it. No need to go through and create a whole new sorting system for the numbers when we could have just converted and utilized what we had. Yeah Collections does the job either way but man I really would have liked to pass with the other method.
Level 13, ELIZABETH, United States
18 March 2020, 03:21
I kept using the isGreaterThan method for the numbers in the array in the final task, then I realize it was only meant for the strings in the array. would have saved a lot of time if I just read the requirements carefully.
Kent Hervey
Level 16, United States
12 March 2020, 01:48
Clearly this is the hardest problem so far since completion number is the least
Kent Hervey
Level 16, United States
10 March 2020, 16:26
So I think the output should be first word last number next word number previous to last etc
Level 24, Sibiu, Romania
21 August 2019, 07:45
In the sort method: 1. Make a for(int i = 0; i < array.length - 1; i++) 2. check if the array[i] is number. If it is -> Step 3, else -> Step 7. 3. Make a for(int j = i + 1; j < array.length; j++) 4. Check if array[j] is number. If it is, Step 5, else Step 6 5. Make 2 int variables and convert the array[i] and array[j] to ints and compare them. Wen you make the swap, make between the strings, not between the ints. 6. Do nothing.(else { }) 7. Because the array[i] is not number, we iterate over j to check if is not number as well: for(int j = i + 1; j < array.length; j++). 8. Check if array[j] is not number. If it is not, compare array[i] and array[j] with isGreaterThan method and swap them. If array[j] is number -> step 9 9. Do nothing. Hope this helps you. This is the easiest way for me. I didn't provide the code so you can put yourselves. :P If you need any assistance, please let me know. Good luck!
Level 19, Vrontados, Greece
4 September 2019, 16:01
Thank you Alex! I have just followed the algorithm you suggest!
Level 24, Sibiu, Romania
4 September 2019, 16:21
Anytime! :)
shaan mohd khan
Level 13, Jhansi, India
12 December 2019, 09:19
Hey Alex, My code is throwing null pointer exception error on the 18th line. not able to find a way to resolve it.Can you help
Level 24, Sibiu, Romania
18 December 2019, 07:23
Hi, Sorry for the late. It would be helpful if you would give me in private, your full source code so I can help you with the error.
shaan mohd khan
Level 13, Jhansi, India
20 December 2019, 08:52
I got it.. Its solved now.. Btw thanx for help
Jeanine Kimball
Level 26, New London, United States
8 July 2020, 14:13
This was beautifully explained. This saved my life. Thank you!
Syed Tayyab ul Mazhar
Level 12, Karachi, China
16 June 2019, 12:03
Just seperate the numbers and words into two ArrayList of type integer and string. Then sort them and put them back in the array.