@@ -9,14 +9,14 @@ help you to become a better programmer and improve your chance of getting a new
9
9
10
10
## Challenge structure
11
11
12
- Each challenge is located in separate package, and it contains 3 main
12
+ Each challenge is located in a separate package, and it contains 3 main
13
13
files ([ screen] ( ./misc/image/challenge-structure.png ) ):
14
14
15
15
- ` README.md ` - the task description.
16
- - ` Challenge.kt ` - file containing an empty method/class where challenge should be solved. This file also contains
17
- set of test and occasionally helper methods. You can run all tests directly from this file (click green arrow next to
16
+ - ` Challenge.kt ` - file containing an empty method/class where the challenge should be solved. This file also contains
17
+ a set of tests and occasionally helper methods. You can run all tests directly from this file (click the green arrow next to
18
18
` Test ` class).
19
- [ JUnit] ( https://junit.org/junit4/ ) tests which verify that task was solved correctly.
19
+ [ JUnit] ( https://junit.org/junit4/ ) tests which verify that the task was solved correctly.
20
20
- ` Solution.kt ` - a file containing one or more solutions.
21
21
22
22
Keep in mind that each challenge will usually have more than one solution. Even simple challenges like
@@ -29,14 +29,14 @@ determine space/time complexity, and we look at code readability.
29
29
## How do I start?
30
30
31
31
1 . Install [ IntelliJ IDEA] ( https://www.jetbrains.com/idea/ )
32
- 2 . Import project by using IntelliJ IDEA menu: ` File | New | Project From Version Control | Git `
32
+ 2 . Import the project by using the IntelliJ IDEA menu: ` File | New | Project From Version Control | Git `
33
33
3 . Choose a challenge ([ src\test\kotlin\com\igorwojda] ( src/test/kotlin/com/igorwojda ) package) and code
34
34
the solution in the ` Challenge.kt ` file
35
- 4 . [ Run the tests] ( https://github.com/igorwojda/kotlin-coding-challenges/wiki/Running-tests ) in the ` Challenge.kt ` file to verify provided solution
35
+ 4 . [ Run the tests] ( https://github.com/igorwojda/kotlin-coding-challenges/wiki/Running-tests ) in the ` Challenge.kt ` file to verify the provided solution
36
36
37
37
# Let's solve some challenges
38
38
39
- Challenges below are segregated by different difficulties. The repository also contains challenges grouped by
39
+ The challenges below are segregated by different difficulties. The repository also contains challenges grouped by
40
40
[ problem type] ( misc/ChallengeGroups.md ) .
41
41
42
42
Some challenges may contain a reference to other challenges that should be solved before to have a better understanding
@@ -140,28 +140,28 @@ multiple times and be persistent over time.
140
140
### Challenges
141
141
142
142
- [ GeeksForGeeks] ( https://practice.geeksforgeeks.org/explore ) - large and nicely segregated set of problems.
143
- - [ HackerRank] ( https://www.hackerrank.com/dashboard ) - large set of problems and additional interview problems for
143
+ - [ HackerRank] ( https://www.hackerrank.com/dashboard ) - a large set of problems and additional interview problems for
144
144
business.
145
- - [ LeetCode] ( https://leetcode.com/problemset/all ) - data structures / algorithms / company interview problems segregated
145
+ - [ LeetCode] ( https://leetcode.com/problemset/all ) - data structures/ algorithms/ company interview problems segregated
146
146
by difficulty.
147
147
- [ Exercism] ( https://exercism.io/ ) - coding challenge website that offers MANY challenges spanning over 60 programming languages.
148
148
- [ Project Euler] ( https://projecteuler.net/archives ) - more complex challenges, usually related to mathematics. The site
149
- already contains 600+ problems and a new code challenge is available very week or two. You will probably have to
149
+ already contains 600+ problems and a new code challenge is available every week or two. You will probably have to
150
150
discuss the problem with the community because solutions are not on the website.
151
- - [ Advent of code] ( https://adventofcode.com/2018/events ) - one month of various programing problems released daily at
152
- the end of the year. Fortunately archive of past events is still there.
153
- - [ CoderByte] ( https://coderbyte.com/challenges ) - 200+ challenges, data structures / algorithms / company interview
154
- problems segregated by difficulty. Unfortunately most of them are only available for premium users. Premium gives you
151
+ - [ Advent of code] ( https://adventofcode.com/2018/events ) - one month of various programming problems released daily at
152
+ the end of the year. Fortunately, archive of past events is still there.
153
+ - [ CoderByte] ( https://coderbyte.com/challenges ) - 200+ challenges, data structures/ algorithms/ company interview
154
+ problems segregated by difficulty. Unfortunately, most of them are only available for premium users. Premium gives you
155
155
access to premium step-by-step solutions and user solutions.
156
- - [ CodeChef] ( https://www.codechef.com/problems/school ) - contains set of programming problems segregated by difficulty.
156
+ - [ CodeChef] ( https://www.codechef.com/problems/school ) - contains a set of programming problems segregated by difficulty.
157
157
- [ Code Forces] ( http://codeforces.com/problemset ) - list of programming challenges is smaller than other websites, but
158
158
you will still have plenty of problems to solve.
159
159
- [ Spoj] ( https://www.spoj.com/problems/classical ) - list of programming challenges is smaller than other websites, but
160
160
you will still have plenty of problems to solve.
161
161
162
- ### Game challanges
163
- - [ CodeWars] ( https://www.codewars.com/ ) - solve visuial challanges by writing code for the.
164
- - [ CodinGame] ( https://www.codingame.com/ ) - solve visuial challanges by writing code for the.
162
+ ### Game challenges
163
+ - [ CodeWars] ( https://www.codewars.com/ ) - solve visual challenges by writing code for the.
164
+ - [ CodinGame] ( https://www.codingame.com/ ) - solve visual challenges by writing code for the.
165
165
166
166
## Video courses
167
167
@@ -185,12 +185,12 @@ multiple times and be persistent over time.
185
185
- [ VisuAlgo] ( https://visualgo.net/en ) - visualizes data structures and algorithms through animations algorithms.
186
186
- [ Data structures explained] ( https://medium.com/basecs/tagged/data-structures ) - description of various data
187
187
structures.
188
- - [ Sorting algorithms animations] ( https://www.toptal.com/developers/sorting-algorithms ) - visually compares most popular
188
+ - [ Sorting algorithms animations] ( https://www.toptal.com/developers/sorting-algorithms ) - visually compares the most popular
189
189
sorting algorithms using animations.
190
190
- [ Big-O Reference] ( http://bigoref.com/ ) - summarizes the complexities in terms of space and time (Big-O) of the most
191
191
important algorithms and operations in common data structures.
192
192
- [ Big-O poster] ( https://github.com/ro31337/bigoposter/blob/master/bigoposter.pdf ) - time/space complexity poster to
193
- print ant put on the wall.
193
+ print and put on the wall.
194
194
- [ Big-O Cheat Sheet] ( http://bigocheatsheet.com/ ) - covers the space and time Big-O complexities of common algorithms.
195
195
196
196
## Coding interview repositories
@@ -201,7 +201,7 @@ multiple times and be persistent over time.
201
201
202
202
# Contribute
203
203
204
- Feedback and new contributions are welcome whether it's through bug reports or new PRs. To add new coding challenge just
204
+ Feedback and new contributions are welcome whether it's through bug reports or new PRs. To add new coding challenges just
205
205
follow this [ guide] ( https://github.com/igorwojda/kotlin-coding-challenges/wiki/Adding-a-new-challenge ) and open PR.
206
206
207
207
# Author
0 commit comments