복붙해 쓰는 #define

알고리즘 문제를 풀 때, define 해둘만한 유용한 메소드들이다. define은 컴파일전에 문자열을 치환하는 것이기 때문에, 각 원소를 괄호”()”로 감싸는 것을 주의하자.

  1. 절대값 계산
    #define abs(x)   (((x) > 0) ? (x) : -(x)) 
  2. x가 더 큰가?
    #define max(x,y)   (((x) > (y)) ? (x) : (y)) 
  3. x가 더 작은가?
    #define min(x,y)    (((x) < (y)) ? (x) : (y))
  4. 홀수
    #define odd(x) ((x)&1)
  5. 짝수(홀수구하기가 더 쉽다)
    #define even(x) ((((x)&1)==1)?0:1)