{"id":18700918,"url":"https://github.com/rabestro/sololearn-challenges","last_synced_at":"2025-04-12T08:23:20.833Z","repository":{"id":44291967,"uuid":"229415100","full_name":"rabestro/sololearn-challenges","owner":"rabestro","description":"Descriptions of SoloLearn Coding Challenges (all 72, including pro) and solutions in C, Java, Python and Ruby","archived":false,"fork":false,"pushed_at":"2022-06-01T12:23:33.000Z","size":1234,"stargazers_count":122,"open_issues_count":4,"forks_count":38,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-26T03:33:12.226Z","etag":null,"topics":["challenge","challenges","regular-expression","sololearn","streams","student-project"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rabestro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-21T11:03:18.000Z","updated_at":"2025-03-26T00:26:34.000Z","dependencies_parsed_at":"2022-08-12T11:01:27.567Z","dependency_job_id":null,"html_url":"https://github.com/rabestro/sololearn-challenges","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rabestro%2Fsololearn-challenges","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rabestro%2Fsololearn-challenges/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rabestro%2Fsololearn-challenges/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rabestro%2Fsololearn-challenges/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rabestro","download_url":"https://codeload.github.com/rabestro/sololearn-challenges/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248537975,"owners_count":21120919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["challenge","challenges","regular-expression","sololearn","streams","student-project"],"created_at":"2024-11-07T11:39:46.804Z","updated_at":"2025-04-12T08:23:20.801Z","avatar_url":"https://github.com/rabestro.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sololearn Coding Challenges\n\nThere are all 72 problems from **SoloLearn Code Coach** with full descriptions and my solutions in Java. The problems grouped by dificulty: Easy, Medium, Hard. The codes have written on mobile device in Sololearn sandbox, sucessfully run and passes all tests by Sololearn. The link to my profile at Sololearn: https://www.sololearn.com/Profile/15186890/\n\nAs an answer to the #OneLiners challenge from SoloLearn I also created [One-Line solutions in Ruby](OneLinersRuby.md) and [One-Statement](one-statement) solutions in Java language for about 60% problems.\n\n## Easy\n\nDescription | Java | Used Java API classes and methods, notes\n----|----|----\n[Popsicles](easy/popsicles/README.md) | [Popsicles.java](easy/popsicles/Popsicles.java) | Ternary operator\n[Halloween Candy](easy/halloween-candy/README.md) | [HalloweenCandy.java](easy/halloween-candy/HalloweenCandy.java) | Math\n[Fruit Bowl](easy/fruit-bowl/README.md) | [FruitBowl.java](easy/fruit-bowl/FruitBowl.java) | \n[Ballpark Orders](easy/pro-ballpark-orders/README.md) | [BallparkOrders.java](easy/pro-ballpark-orders/BallparkOrders.java) | Map, BigDecimal, Stream, Scaner::tokens (Java 11)\n[Cheer Creator](easy/cheer-creator/README.md) | [CheerCreator.java](easy/cheer-creator/CheerCreator.java) | String::repeat (Java 11)\n[Skee-ball](easy/skee-ball/README.md) | [SkeeBall.java](easy/skee-ball/SkeeBall.java) | \n[Paint Costs](easy/paint-costs/README.md) |  [PaintCosts.java](easy/paint-costs/PaintCosts.java) | BigDecimal, RoundingMode\n[Argentina](easy/argentina/README.md) |  [Argentina.java](easy/argentina/Argentina.java) | I use multiplication to keep max precision\n[Balconies](easy/pro-balconies/README.md) | [Balconies.java](easy/pro-balconies/Balconies.java) | Scanner::useDelimiter \n[Candles](easy/pro-candles/README.md) | [Candles.java](easy/pro-candles/Candles.java) | \n[Duct Tape](/easy/pro-duct-tape/README.md) | [DuctTape.java](/easy/pro-duct-tape/DuctTape.java) | Math\n[Easter Eggs](easy/pro-easter-eggs/README.md) | [EasterEggs.java](easy/pro-easter-eggs/EasterEggs.java) | Ternary operator\n[Guard Flamingos](easy/guard-flamingos/README.md) | [GuardFlamingos.java](easy/guard-flamingos/GuardFlamingos.java) |\n[Gotham City](easy/gotham-city/README.md) | [GothamCity.java](easy/gotham-city/GothamCity.java) | MessageFormat::format\n[Hovercraft](easy/hovercraft/README.md) | [Hovercraft](easy/hovercraft) | BigDecimal\n[Izzy the Iguana](easy/pro-izzy-the-iguana/README.md) | [IzzyIguana.java](easy/pro-izzy-the-iguana/IzzyIguana.java) | Map, Scaner::tokens (Java 11)\n[Kaleidoscopes](easy/pro-kaleidoscopes/README.md) | [Kaleidoscopes.java](easy/pro-kaleidoscopes/Kaleidoscopes.java) | BigDecimal (There is errors in SoloLearn tests)\n[Jungle Camping](easy/jungle-camping/README.md) | [JungleCamping.java](easy/jungle-camping/JungleCamping.java) | Map, Scaner::tokens (Java 11)\n[Land Ho!](easy/pro-land-ho/README.md) | [LandHo.java](easy/pro-land-ho/LandHo.java) |\n[Neverland](easy/pro-neverland/README.md) | [Neverland.java](easy/pro-neverland/Neverland.java) | System.out::printf\n[Extra-Terrestrials](easy/extra-terristrials/README.md) | [ExtraTerrestrials.java](easy/extra-terristrials/ExtraTerrestrials.java) | StringBuilder::reverse\n[Zip Code Validator](easy/pro-zip-code-validator/README.md) | [ZipCodeValidator.java](easy/pro-zip-code-validator/ZipCodeValidator.java) | Pattern::matches\n[Vowel Counter](easy/pro-vowel-counter/README.md) | [VowelCounterRE.java](easy/pro-vowel-counter/VowelCounterRE.java) | String::replaceAll\n[Isogram Detector](easy/pro-isogram-detector/README.md) | [IsogramDetector.java](easy/pro-isogram-detector/IsogramDetector.java) | Pattern::matches\n[Multiples](easy/pro-multiples/README.md) | [Multiples.java](easy/pro-multiples/Multiples.java) | IntStream, lambda\n[Number of Ones](easy/pro-number-of-ones/README.md) | [NumberOfOnes.java](easy/pro-number-of-ones/NumberOfOnes.java) | Integer::bitCount\n\n## Medium\n\nDescription | Java | Used Java API classes and methods, notes\n----|----|----\n[Pig Latin](medium/pig-latin/README.md) | [PigLatinRE.java](medium/pig-latin/PigLatinRE.java) | String::replaceAll, RegEx \n  _  | [PigLatinStream.java](medium/pig-latin/PigLatinStream.java) | Scanner::tokens, lambda\n  _  | [PigLatinClassic.java](medium/pig-latin/PigLatinClassic.java) | System.out::printf \n[Safety Deposit Boxes](medium/pro-safety-deposit-boxes/README.md) | [SafetyDepositBoxes.java](medium/pro-safety-deposit-boxes/SafetyDepositBoxes.java) | String::replaceAll, RegEx (tricky?)\n[Roadrunner](medium/pro-roadrunner/README.md) | [Roadrunner.java](medium/pro-roadrunner/Roadrunner.java) |\n[Snap, Crackle and Pop](medium/pro-snap-crackle-and-pop/README.md) | [SnapCrackleAndPop.java](medium/pro-snap-crackle-and-pop/SnapCrackleAndPop.java) | Stream, lambda\n[Deja Vu](medium/deja-vu/README.md) | [DejaVu.java](medium/deja-vu/DejaVu.java) | Pattern::matches\n[The Spy Life](medium/the-spy-life/README.md) | [TheSpyLife.java](medium/the-spy-life/TheSpyLife.java) | StringBuilder\n[Hex Color Code Generator](medium/pro-hex-color-code-generator/README.md) | [HexColorCodeGenerator.java](medium/pro-hex-color-code-generator/HexColorCodeGenerator.java) | System.out::printf\n[Symbols](medium/symbols/README.md) | [Symbols.java](medium/symbols/Symbols.java) | String::replaceAll, RegEx\n[Super Sale](medium/pro-super-sale/README.md) | [SuperSale.java](medium/pro-super-sale/SuperSale.java) | Stream \n[Duty Free](medium/pro-duty-free/README.md) | [DutyFree.java](medium/pro-duty-free/DutyFree.java) | Stream\n[Carrot Cake](medium/pro-carrot-cake/README.md) | [CarrotCake.java](medium/pro-carrot-cake/CarrotCake.java) | System.out::printf\n[Building Blocks](medium/pro-building-blocks/README.md) | [BuildingBlocks.java](medium/pro-building-blocks/BuildingBlocks.java) | IntStream::generate\n[Name Buddy](medium/pro-name-buddy/README.md) | [NameBuddy.java](medium/pro-name-buddy/NameBuddy.java) | String::concat\n  _  | [NameBuddyRegEx.java](medium/pro-name-buddy/NameBuddyRegEx.java) | String::matches\n[That's odd...](medium/thats-odd/README.md) | [ThatsOdd.java](medium/thats-odd/ThatsOdd.java) | IntStream\n[No Numerals](medium/no-numerals/README.md) | [NoNumerals.java](medium/no-numerals/NoNumerals.java) | Map, Stream, lambda\n[Secret Message](medium/secret-message/README.md) | [SecretMessage.java](medium/secret-message/SecretMessage.java) | Stream, lambda\n[Divisible](medium/pro-divisible) | [Divisible.java](medium/pro-divisible/Divisible.java) |Stream, lambda\n[Even Numbers](medium/pro-even-numbers/README.md) | [EvenNumbers.java](medium/pro-even-numbers/EvenNumbers.java) | IntStream\n[Military Time](medium/military-time/README.md) | [MilitaryTime.java](medium/military-time/MilitaryTime.java) | Date \u0026 Time API Java 11\n[Tax Free](medium/pro-tax-free/README.md) | [TaxFree.java](medium/pro-tax-free/TaxFree.java) | Stream\n[How Far?](medium/pro-how-far/README.md) | [HowFar.java](medium/pro-how-far/HowFar.java) | String::replaceAll, RegEx\n[Average Word Length](medium/average-word-length/README.md) | [AverageWordLength.java](medium/average-word-length/AverageWordLength.java) | String::split, String::replaceAll\n   .   | [AverageWordLengthStream.java](medium/average-word-length/AverageWordLengthStream.java) | Stream, Collectors::averagingInt\n[YouTube Link Finder](medium/youtube-link-finder/README.md) | [YouTubeLinkFinder.java](medium/youtube-link-finder/YouTubeLinkFinder.java) | String::replaceAll, RegEx\n[Convert US date to EU date](medium/convert-date/README.md) | [ConvertDate.java](medium/convert-date/ConvertDate.java) | Date \u0026 Time API Java 11\n[Day of the Week](medium/pro-day-of-the-week/README.md) | [DayOfWeek.java](medium/pro-day-of-the-week/DayOfWeek.java) | Date \u0026 Time API Java 11\n[Camel to Snake](medium/pro-camel-to-snake/README.md) | [CamelToSnake.java](medium/pro-camel-to-snake/CamelToSnake.java) | String::replaceAll, RegEx\n[Days between dates](medium/pro-days-between-dates/README.md) | [DaysBetweenDates.java](medium/pro-days-between-dates/DaysBetweenDates.java) | Date \u0026 Time API Java 11\n[Text Decompressor](medium/pro-text-decompressor/README.md) | [TextDecompressor.java](medium/pro-text-decompressor/TextDecompressor.java) | Stream\n[Snowballing Numbers](medium/pro-snowballing-numbers/README.md) | [SnowballingNumbers.java](medium/pro-snowballing-numbers/SnowballingNumbers.java) | Stream\n[Flowing Words](medium/pro-flowing-words/README.md) | [FlowingWords.java](medium/pro-flowing-words/FlowingWords.java) | RegEx\n[Splitting Strings](medium/pro-splitting-strings/README.md) | [SplittingStrings.java](medium/pro-splitting-strings/SplittingStrings.java) | String::format, String::split, String::join, RegEx\n[Missing Numbers](medium/pro-missing-numbers/README.md) | [MissingNumbers.java](medium/pro-missing-numbers/MissingNumbers.java) | Stream\n[Initials](medium/pro-initials/README.md) | [Initials.java](medium/pro-initials/Initials.java) | Stream, RegEx\n[Credit Card Validator](medium/pro-credit-card-validator/README.md) | [CreditCardValidator.java](medium/pro-credit-card-validator/CreditCardValidator.java) | StringBuilder, Stream\n[CMYK to RGB](medium/pro-CMYK-to-RGB/README.md) | [CmykToRgb.java](medium/pro-CMYK-to-RGB/CmykToRgb.java) | Math, float\n\n## Hard\n\nDescription | Java | Used Java API classes and methods, notes\n----|----|----\n[New Driver's License](hard/new-drivers-license/README.md) | [NewDriversLicense.java](hard/new-drivers-license/NewDriversLicense.java) | Stream, lambda\n[It's a Sign](hard/pro-its-a-sign/README.md) | [ItsSign.java](hard/pro-its-a-sign/ItsSign.java) | StringBuilder, Stream\n[Mathematics](hard/pro-mathematics/README.md) | [Mathematics.java](hard/pro-mathematics/Mathematics.java) | Interface, Lambda, RegEx, Collections, Recursion\n[Password Validation](hard/password-validation/README.md) | [PasswordValidation.java](hard/password-validation/PasswordValidation.java) | RegEx\n[Security](hard/security/README.md) | [Security.java](hard/security/Security.java) | RegEx\n[2D Map](hard/pro-2d-map/README.md) | [Map2D.java](hard/pro-2d-map/Map2D.java) | Math, String::indexOf\n[Hofstadter's Q-Sequence](hard/pro-hofstadter-q-sequence/README.md) | [HofstadtersQSequence.java](hard/pro-hofstadter-q-sequence/HofstadtersQSequence.java) |\n[Digits of Pi](hard/pro-digits-of-pi/README.md) | [PiCalculation.java](hard/pro-digits-of-pi/PiCalculation.java) | BigDecimal, Algorithm\n[Longest Common Substring](medium/pro-longest-common-substring/README.md) | [Longest Common Substring](medium/pro-longest-common-substring) |\n[Poker Hand](hard/pro-poker-hand/README.md) | [PokerHand.java](hard/pro-poker-hand/PokerHand.java) | Stream, RegEx\n[Word Rank](hard/pro-word-rank/README.md) | [Word Rank](hard/pro-word-rank) |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frabestro%2Fsololearn-challenges","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frabestro%2Fsololearn-challenges","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frabestro%2Fsololearn-challenges/lists"}