Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

30 Days of Code

Day Challenge Solutions Day Challenge Solutions
0 Hello, World Java Python 15 Linked Lists Java Python
1 Data Types Java Python 16 Exceptions - String to Integer Java Python
2 Operators Java Python 17 More Exceptions Java Python
3 Intro to Conditional Statements Java Python 18 Queues and Stacks Java Python
4 Class vs. Instance Java Python 19 Interfaces Java Python
5 Loops Java Python 20 Sorting Java Python
6 Let's Review Java Python 21 Generics Java Python
7 Arrays Java Python 22 Binary Search Trees Java Python
8 Dictionaries and Maps Java Python 23 BST Level-Order Traversal Java Python
9 Recursion Java Python 24 More Linked Lists Java Python
10 Binary Numbers Java Python 25 Running Time and Complexity Java Python
11 2D Arrays Java Python 26 Nested Logic Java Python
12 Inheritance Java Python 27 Testing Java Python
13 Abstract Classes Java Python 28 RegEx, Patterns, and Intro to Databases Java Python
14 Scope Java Python 29 Bitwise AND Java Python

Notes on Style

Since readers of this tutorial are probably somewhat new to programming, my solutions to this particular set of challenges prioritize code readability over small gains in efficiency or robustness.

That is, the type of long, dense, or convoluted "one-liner" solutions that some programmers enjoy showing off are not presented here, and input is assumed to mostly follow the constraints stated in each challenge.

Encouraging Good Practices

The code stubs and solutions HackerRank provides for many of these challenges sometimes encourage bad coding habits. These include hardcoded values and some non-standard naming/indentation schemes. To help show beginners the light, my solutions adhere more strictly to general community standards of clean, maintainble code.

Specifically, my Java solutions mostly follow Google's Java Style Guide, and my Python solutions mostly follow PEP 8. (I say "mostly" because the locked code and tests written by HackerRank sometimes force the use of unconventional names, imports, etc.)