볼록 껍질
convex hull 알고리즘을 구현하는 문제이다.알고리즘 자체는 엄청 간단한데, 일단 기준점을 하나 잡고 정렬을 해야 한다.아래에 있을수록, 왼쪽에 있을수록 작다는 기준으로 정렬을 해서 아래 왼쪽의 점 하나를 기준점으로 잡고,그 기준점을 기준으로 시계 방향에 있을수록 작다는 기준으로 또 한번 정렬을 한다.여기서 시계 방향에 있는지, 반시계 방향에 있는지를 구하는 알고리즘이 ccw이다.ccw는 벡터 외적으로 구하는데, 2차원 평면 상에서 벡터를 외적하면 k성분만 남는데, 이 방향이 시계 방향일 때는 +z방향,반시계 일때는 -z방향이라는 특징을 이용한다. 이제 점들을 돌면서 스택에 넣는다. 스택의 상위 2개 점 a,b를 뽑고, 봐야 할 점 c가 있을 때, bc가 ab보다 반시계 방향에 있으면 스택에 넣고..