Hackerrank Solutions

Hackerrank is a site where you can test your programming skills and learn something new in many domains.

I found this page around 2014 and after then I exercise my brain for FUN. My Hackerrank profile.

I created almost all solutions in 4 programming languages - Scala, Javascript, Java and Ruby. Special challenges require SQL, Bash or just plain text. Posts contain explanations, too.

The solutions follows Hackerrank structure. You can find all implementations on my Github

## Project Euler+

- Project Euler #1: Multiples of 3 and 5
- Project Euler #2: Even Fibonacci numbers
- Project Euler #3: Largest prime factor
- Project Euler #4: Largest palindrome product
- Project Euler #5: Smallest multiple
- Project Euler #6: Sum square difference
- Project Euler #7: 10001st prime
- Project Euler #8: Largest product in a series
- Project Euler #9: Special Pythagorean triplet
- Project Euler #10: Summation of primes
- Project Euler #11: Largest product in a grid
- Project Euler #12: Highly divisible triangular number
- Project Euler #13: Large sum
- Project Euler #14: Longest Collatz sequence
- Project Euler #15: Lattice paths
- Project Euler #16: Power digit sum
- Project Euler #17: Number to Words
- Project Euler #18: Maximum path sum I
- Project Euler #19: Counting Sundays
- Project Euler #20: Factorial digit sum
- Project Euler #22: Names scores
- Project Euler #36: Double-base palindromes
- Project Euler #67: Maximum path sum II

## Algorithms

#### Warmup

- [Easy] Solve me first (1 pt)
- [Easy] Simple Array Sum (10 pts)
- [Easy] Staircase (10 pts)
- [Easy] Diagonal Difference (10 pts)
- [Easy] A Very Big Sum (10 pts)
- [Easy] Plus Minus (10 pts)
- [Easy] Time Conversion (15 pts)
- [Easy] Compare The Triples (10 pts)
- [Easy] Circular Array Rotation (20 pts)
- [Easy] Birthday Cake Candles (10 pts)

#### Implementation

- [Easy] Divisible Sum Pairs (10 pts)
- [Easy] Sequence Equation (20 pts)
- [Easy] Lisa's Workbook (30 pts)
- [Easy] Library Fine (15 pts)
- [Easy] Caesar Cipher (15 pts)
- [Easy] Angry Professor (20 pts)
- [Medium] Extra long factorials (20 pts)
- [Easy] Service Lane (20 pts)
- [Easy] Utopian Tree (20 pts)
- [Easy] Chocolate Feast (25 pts)
- [Easy] Modified Kaprekar Numbers (30 pts)
- [Easy] Sherlock and Squares (20 pts)
- [Easy] Manasa and Stones (30 pts)
- [Easy] Cut the sticks (25 pts)
- [Easy] Find Digits (25 pts)
- [Easy] Cavity Map (30 pts)
- [Easy] Sherlock and The Beast (30 pts)
- [Medium] Encryption (30 pts)
- [Easy] Strange Counter (30 pts)
- [Easy] Beautiful Triplets (20 pts)
- [Easy] Kangaroo (10 pts)
- [Easy] Save the Prisoner! (15 pts)
- [Easy] Minumum Distances (20 pts)
- [Easy] Jumping on the Clouds (20 pts)
- [Easy] Jumping on the Clouds: Revisited (15 pts)
- [Easy] Sock Merchant (10 pts)
- [Easy] Repeated String (20 pts)
- [Easy] Equalize the Array (20 pts)
- [Easy] Viral Advertising (15 pts)
- [Easy] Apple and Orange (10 pts)
- [Easy] Mini-Max Sum (10 pts)
- [Easy] Bon Appétit (10 pts)
- [Easy] Beautiful Days at the Movies (15 pts)
- [Easy] Designer PDF Viewer (20 pts)
- [Easy] Flatland Space Stations (25 pts)
- [Easy] Grading Students (10 pts)
- [Easy] Between Two Sets (10 pts)
- [Easy] The Hurdle Race (15 pts)
- [Easy] Taum and B'day (25 pts)
- [Easy] ACM ICPC Team (25 pts)
- [Easy] Drawing Book (10 pts)
- [Easy] Day of the Programmer (15 pts)
- [Easy] Electronics Shop (15 pts)
- [Easy] Migratory Birds (10 pts)
- [Easy] Picking Numbers (20 pts)
- [Easy] Birthday Chocolate (10 pts)
- [Easy] Breaking the Records (10 pts)
- [Easy] Cats and a Mouse (15 pts)
- [Easy] Counting Valleys (15 pts)

#### Strings

- [Easy] Super Reduced String (10 pts)
- [Easy] CamelCase (15 pts)
- [Easy] The Love-Letter Mystery (20 pts)
- [Easy] Alternating Characters (20 pts)
- [Easy] Gemstones (20 pts)
- [Easy] Pangrams (20 pts)
- [Easy] Game of Thrones - I (30 pts)
- [Easy] Funny String (25 pts)
- [Easy] Anagram (25 pts)
- [Easy] Beautiful Binary String (20 pts)
- [Easy] Mars Exploration (15 pts)
- [Easy] String Construction (25 pts)
- [Easy] Weighted Uniform Strings (20 pts)
- [Easy] Two Characters (20 pts)
- [Easy] Separate the Numbers (20 pts)
- [Easy] Making Anagrams (30 pts)
- [Medium] Sherlock and Anagrams (50 pts)
- [Difficult] Common Child (60 pts)

#### Sorting

- [Easy] Intro to Tutorial Challenges (30 pts)
- [Easy] Insertion Sort - Part 1 (30 pts)
- [Easy] Insertion Sort - Part 2 (30 pts)
- [Easy] Counting Sort 1 (30 pts)
- [Easy] Closest Numbers (35 pts)

#### Search

#### Graph Theory

#### Greedy

- [Medium] Flowers (35 pts)
- [Medium] Max Min (35 pts)
- [Easy] Two Arrays (40 pts)
- [Easy] Priyanka and Toys (30 pts)
- [Easy] Mark and Toys (35 pts)

#### Dynamic Programming

#### Bit Manipulation

- [Easy] Lonely Integer (20 pts)
- [Easy] Maximizing XOR (30 pts)
- [Easy] Flipping Bits (40 pts)
- [Easy] Sum vs XOR (25 pts)

## Data Structures

#### Arrays

#### Linked Lists

## Mathematics

#### Fundamentals

- [Easy] Find Point (5 pts)
- [Easy] Minimum Draws (5 pts)
- [Easy] Connecting Towns (10 pts)
- [Easy] Handshake (10 pts)
- [Easy] Halloween Party (20 pts)
- [Easy] Filling Jars (20 pts)
- [Medium] Is Fibo (20 pts)

#### Number Theory

#### Combinatorics

- [Expert] Building a List (40 pts)
- [Easy] Picking Cards (50 pts)
- [Medium] Consecutive Subsequences (50 pts)

#### Probability

## Java

#### Introduction

- [Easy] Welcome To Java! (3 pts)
- [Easy] Java If-Else (10 pts)
- [Easy] Java Stdin and Stdout 1 (5 pts)
- [Easy] Java Stdin and Stdout 2 (10 pts)
- [Easy] Java Output Formatting (10 pts)
- [Easy] Java Loops I (10 pts)
- [Easy] Java Loops II (10 pts)
- [Easy] Java Datatypes (10 pts)
- [Easy] Java End-of-file (10 pts)
- [Easy] Java Static Initializer Block (10 pts)
- [Easy] Java Int to String (10 pts)
- [Easy] Java Date and Time (15 pts)
- [Easy] Java Currency Formatter (15 pts)

#### Strings

## SQL

#### Basic Select

- [Easy] Select All (10 pts)
- [Easy] Revising the Select Query - 1 (10 pts)
- [Easy] Revising the Select Query - 2 (10 pts)
- [Easy] Select by ID (10 pts)
- [Easy] Japanese Cities' Detail (10 pts)
- [Easy] Japanese Cities' Names (10 pts)
- [Easy] Weather Observation Station 1 (15 pts)
- [Easy] Weather Observation Station 3 (10 pts)
- [Easy] Weather Observation Station 4 (10 pts)
- [Medium] Weather Observation Station 5 (30 pts)
- [Easy] Weather Observation Station 6 (10 pts)
- [Easy] Weather Observation Station 7 (10 pts)
- [Easy] Weather Observation Station 8 (15 pts)
- [Easy] Weather Observation Station 9 (10 pts)
- [Easy] Weather Observation Station 10 (10 pts)
- [Easy] Weather Observation Station 11 (15 pts)
- [Easy] Weather Observation Station 12 (15 pts)
- [Medium] Higher Than 75 Marks (15 pts)

<

h2>Linux Shell

#### Bash

- [Easy] Let's Echo (1 pt)
- [Easy] Looping and Skipping (2 pts)
- [Easy] A Personalized Echo (1 pt)
- [Easy] Looping with Numbers (2 pts)
- [Easy] The World of Numbers (2 pts)
- [Easy] Comparing Numbers (3 pts)
- [Easy] Getting started with conditionals (3 pts)

#### Text Processing

- [Easy] Cut #1 (1 pt)
- [Easy] Cut #2 (1 pt)
- [Easy] Head of a Text File #1 (2 pts)
- [Easy] Head of a Text File #2 (2 pts)
- [Easy] Tr' Command #1 (1 pt)
- [Easy] Sort Command #1 (1 pt)
- [Easy] Sort Command #2 (1 pt)
- [Easy] Tr' Command #2 (1 pt)

#### Grep Sed Awk

## Functional Programming

#### Introduction

- [Easy] Solve me first FP (3 pts)
- [Easy] Lambda Calculus - Evaluating Expressions #1 (5 pts)
- [Easy] Lambda Calculus - Evaluating Expressions #2 (5 pts)
- [Easy] Lambda Calculus - Evaluating Expressions #3 (5 pts)
- [Medium] Lambda Calculus - Evaluating Expressions #4 (5 pts)
- [Medium] Lambda Calculus - Evaluating Expressions #5 (5 pts)
- [Easy] Lambda Calculus - Reductions #1 (5 pts)
- [Easy] Lambda Calculus - Reductions #2 (5 pts)
- [Medium] Lambda Calculus - Reductions #3 (5 pts)
- [Medium] Lambda Calculus - Reductions #4 (5 pts)
- [Easy] Hello World (5 pts)
- [Easy] Hello World N Times (5 pts)
- [Easy] List Replication (10 pts)
- [Easy] Filter Array (10 pts)
- [Easy] Update List (10 pts)
- [Easy] List Length (10 pts)
- [Easy] Array Of N Elements (10 pts)
- [Easy] Reverse a list (10 pts)
- [Easy] Sum of odd elements (10 pts)
- [Easy] Filter positions in a list (10 pts)
- [Easy] Evaluating e^x (20 pts)
- [Easy] Area Under Curves and Volume of Revolving a Curve (30 pts)
- [Easy] Functions or Not (5 pts)
- [Easy] Compute the Perimeter of a Polygon (15 pts)
- [Easy] Compute the Area of a Polygon (20 pts)

#### Recursion

- [Easy] Computing the GCD (2 pts)
- [Easy] Fibonacci Numbers (2 pts)
- [Easy] Pascal's Triangle (10 pts)
- [Easy] String Mingling (20 pts)
- [Easy] String-o-Permute (10 pts)
- [Easy] String Reductions (10 pts)
- [Easy] Prefix Compression (10 pts)
- [Easy] Sequence full of colors (10 pts)
- [Easy] String Compression (10 pts)
- [Medium] Super Digit (20 pts)

#### Ad Hoc

- [Easy] Remove Duplicates (10 pts)
- [Easy] Rotate String (20 pts)
- [Easy] Jumping Bunnies (20 pts)
- [Easy] Missing Numbers (FP) (30 pts)

## Regex

#### Introduction

- [Easy] Matching Specific String (5 pts)
- [Easy] Matching Word & Non-Word Character (5 pts)
- [Easy] Matching Digits & Non-Digit Characters (5 pts)
- [Easy] Matching Whitespace & Non-Whitespace Character (5 pts)
- [Easy] Matching Anything But a Newline (5 pts)
- [Easy] Matching Start & End (5 pts)

#### Character Class

- [Easy] Matching Specific Characters (10 pts)
- [Easy] Excluding Specific Characters (10 pts)
- [Easy] Matching Range Of Characters (10 pts)

#### Repetitions

- [Easy] Matching {x} Repetitions (20 pts)
- [Easy] Matching {x,y} Repetitions (20 pts)
- [Easy] Matching Zero Or More Repetitions (20 pts)
- [Easy] Matching One Or More Repetitions (20 pts)
- [Easy] Matching Ending Items (20 pts)

#### Grouping and Capturing

- [Easy] Matching Word Boundaries (20 pts)
- [Easy] Capturing & Non-Capturing Groups (20 pts)
- [Easy] Alternative Matching (20 pts)

#### Applications

- [Easy] HackerRank Tweets (5 pts)
- [Easy] Split the Phone Numbers (5 pts)
- [Easy] Find Hackerrank (5 pts)
- [Easy] The British and American Style of Spelling (5 pts)
- [Easy] Find a Substring (5 pts)
- [Easy] Alien Username (5 pts)
- [Easy] Detecting Valid Latitude and Longitude Pairs (20 pts)
- [Easy] Valid PAN Format (5 pts)
- [Easy] IP Address Validation (10 pts)
- [Easy] Detect HTML Attributes (10 pts)
- [Easy] Detect HTML Tags (10 pts)