1. 알고리즘 설계
    1. 예증
    2. 패턴 매칭
    3. 단순화와 일반화
    4. 초기 사례로부터의 확장
    5. 자료구조 브레인스토밍
  2. DFS vs BFS (without DP)
  3. 최대공약수와 최대공배수
    1. 최대공약수(GCD)

      int gcd(int a, int b){
      	if(b == 0) return a;
      	return gcd(b, a % b);
      }
      
    2. 최소공배수(LCM)

      int lcm(int a, int b){
      	return a*b / gcd(a,b);
      }