Learning from Challenge - HackerRank 30 Days of code

/**
@date : 170217 ~
@refernence :
Java7 API
Java tutorial Essential
@lauguage : Java
*/

Day 0 : Hello, World

  • stdin
  • stdout
    • System.out.print()
      • String.format
  • Beauty of EOF
  • I/O stream

Day 1 : Data Types

  • Scanner
    • Translating Individual Tokens
  • Primitive Data type

Day 2 : Operators

  • Oprators of Big Integer
  • Decimal point Round tip

Overflow/Underflow

  • NumberFormat Exception
  • ArithmeticException vs Infinity or NaN (depends on Java version)

Day 3: Intro to Conditional Statements

Day 4: Class vs. Instance

Day 5: Loops

Day 6: Let’s Review

String

  • str.toCharArray()
  • (1 character) charAt vs substring
  • ’=’ != equals (address vs value)
  • StringBulider vs StringBuffer vs String
  • isEmpty
    • String is object, not primitive
    • About check Object is null
      • isEmpty, != null,
      • Using Framework: isNullOrEmpty-GoogleGuava
  • matches() Using RegEx
    • Tutorial of Regular Expression(RegEx)
    • String.matches() vs Matcher

Day 7: Arrays

Data Structure

  • Collection
    • Array vs List

Day 8: Dictionaries and Maps

  • Collection : Interface as a blueprint of data Structure\

Map<Character, Integer> not Map<char, int>

Day9. Recursion

  • I rarely use this. Why?

Day10.Binary Numbers

  • char compare
    • equlas
    • ==
  • Converting Binary Number to base-10-Integer not Using “Integer.toBinaryString(n)” @Update Solution
  • TestCase is important!
    • missing case : Binary number ends in 1 (Input: 439, 65535)

Day11.2D Arrays

  • Integer.MIN_VALUE

Day12.Inheritance

-Make ‘HackerRank Solution’ Crawler Using chrome Extension! @Project (date : 170316~)

Day13.Abstract Classes

  • Api design.interfaces vs abstract(Using Interface)
    To summarize, an interface is generally the best way to define a type that permits multiple implementations. An exception to this rule is the case where ease of evolution is deemed more important than flexibility and power. 
    

Day14. Scope

  • sort – recursive
  • Arrays.copyOfRange(arr, startIndex, endIndex)
Written on March 7, 2017