본문 바로가기

전체 글

(689)
[리눅스] goto 사용 시 컴파일 [1. 개요]c++ 코드 작성 시, goto 문이 필요한 경우동일한 코드라도 컴파일러 종류에 따라서 컴파일이 될  수도 있고 안될 수 있다.윈도우 msvc 컴파일러는 허용 폭이 관대한 편이고,리눅스 g++ 컴파일러는 굉장히 타이트 한 편인 것 같다.[2. 예제]아래 코드는 리눅스에서 컴파일이 안된다.#include int main(int argc, char **argv){ if (argc == 1) { goto EXIT; } int a=3; int b=4; std::cout  error: jump to label ‘EXIT' 이라는 에러가 발생.원인은 변수의 선언이 goto 문과 와 goto 할 label 사이에 있..
컨벡스 헐. [1708] [1. 문제 설명]https://www.acmicpc.net/submit/1708/87944456[2. 풀이 접근]컨벡스 헐 알고리즘의 기본 문제[3. 코드]
Convex hull (볼록 껍질) [1. 개요]컨벡스 헐(이하 볼록 껍질) 이란?평면 위 N개의 점이 주어졌을 때,M 개의 점을 이용하여, 나머지 모든 점을 내부에 포함하게 만드는 도형.즉, 모든 점을 포함하는 볼록 다각형 중, 면적이 최소인 다각형을 말한다.[2. 알고리즘 - 개요]컨벡스 헐을 구하는 알고리즘은 아래와 같은 것들 있다.Graham scan (그라함 스캔)Jarvis marchDivide & Conquer여기서 가장 유명한 알고리즘이 그라함 스캔이라고 한다.그라함 스캔의 동작 방식은 아래와 같다.주어진 점을 y 순으로 정렬한다. (y 가 같은 경우는 x 순으로 정렬)정렬 된 점 중 첫번째 점을 기준으로 반시계 방향으로 나머지 점들을 정렬한다.정렬 된 점 들 중, 처음 2 개의 점을 스택에 푸쉬한다.그 다음 점이,  스택의..