일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- c#
- PS
- AABB
- C++
- Graham Scan
- 유니티
- 보로노이다이어그램
- uclidean algorithm
- 백준
- 충돌 알고리즘
- Vector
- 다이나믹 프로그래밍
- GJK
- 알고리즘
- SOH
- ubuntu
- Doubly Connected Edge List
- 우분투
- 리눅스
- 문제풀이
- C
- 벡터
- 분할축 이론
- 내적
- Expanding Polytope Algorithm
- 수학
- 외적
- linux
- dp
- Unity
- Today
- Total
목록전체 글 (62)
마이 플밍 블로그
#include #include #include #include using namespace std; long int A,B; long int minCount = 100000000; void DFS(long int num, bool gup, long int count) { count++; if (gup) { num *= 2; } else { num *= 10; num += 1; } if (num == B) { if (count > A >> B; DFS(A,..
#include #include #include #include using namespace std; int N, C; int k; vector arr; int main() { cin >> N; cin >> k; long int before; long int totalDst = 0; long int point; cin >> point; arr.push_back(point); for (int i = 1; i > point2; totalDst += point2 - arr[i - 1]; arr.push_back(point2); } sort(arr.begin(), arr.end()); int answer = 0; // 공유기간의 거리 최솟 값 int ..
수정 전 #include #include #include using namespace std; int N, M; vector arr; vector keys; int test(int low, int height, int key) { int mid = (low + height) / 2; if (arr[mid] == key) { int index = mid; int count = 1; while (!(index > M; for (int i = 0; i < M; i++) { int key; scanf("%d", &key); keys.push_back(key); } for (int i = 0; i < keys.size(); i++) { printf("%d ", test(0, keys.size(), keys[i])..
#include using namespace std; int mapSize; int map[64][64]; void QuadTree(int x, int y, int line) { if (line == 1) { cout arr[x]; } for (int i = 0;i < mapSize; i++) { map[i][y] = arr[i] - 48; } } QuadTree(0, 0, mapSize); return 0; }
#include #include #include #include #define _CRT_SECURE_NO_WARNINGS using namespace std; void path(int n, char start, char goal) { printf("%c %c\n", start, goal); } void hanoi(int n, char start, char goal, char assist) { if (n == 1) { path(n, start, goal); } else { hanoi(n - 1, start, assist, goal); path(n, start, goal); hanoi(n - 1, assist, goal, start); } } int main() { int n; cin >> n; string..
간혹 프로그램을 작성하다 보면 특정 클래스에 메서드를 추가하고 싶은 경우가 있다. 그게 내가 만든 클래스라면 직접 파일을 열어서 추가하면 되지만 외부 라이브러리를 사용할 시 직접 수정하지 못하게 막아놓은 경우도 있을 것이다. 그럴 경우에 사용하면 되는 것이 확장메서드이다. 확장메서드를 사용할 시 클래스 내부가 아닌 외부에서 메서드를 정의함으로서 기존 형식의 코드변경 없이 외부에서 대상 형식에 메서드를 추가할 수 있다. 확장메서드 만들기 확장메서드는 static클래스 안에서 static 메서드로 정의된다. public static class ExtensionMethod { public static void TestExtensionMethod1(this string a) { Console.WriteLine(..
복잡한 문자열 처리를 위해서는 Regular Expression를 사용한다. 닷넷에선 이 기능을 Regex 클래스를 중심으로 구현을 했다. Regular Expression의 기능은 Perl에서 진화한 것인데 Perl 5 Regular Expression와 호환 되도록 하였다 Regular Expression을 이용하면 문자열 데이터에서 특정 패턴을 찾아내고 다른 문자열 데이터로 치환할 수 있다. Regex 문자열 패턴 찾기 Regex 클래스를 활용해 특정 문자 패턴을 찾는 몇가지 예를 보자 Regex를 생성할 때 특정 문자패턴을 파라미터로 넘긴다 Match()메서드를 이용해서 문자열에 문자 패턴이 존재하는지 검사한다. Regex.Match는 Match 클래스 객체를 리턴한다. 존재한다면 Match.Su..
#include #include #include #include #include ; #include using namespace std; int M, N; int Map[1001][1001]; int Dst[1001][1001][2]; int Dx[4] = { -1,0,1,0 }; int Dy[4] = { 0,-1,0,1 }; int Day = 0; int NotRipeTomatoNum = 0; int BreakWall = 1; char arr[1001]; bool isInside(int x, int y) { if (0 N >> M; vector RipeTomatoX; vector RipeTomatoY; for (int y = 0; y < N; y++) { for (int i = 0; i < M; i++..
#include #include #include #include using namespace std; int M, N; int box[1001][1001]; int Dx[4] = { -1,0,1,0 }; int Dy[4] = { 0,-1,0,1 }; int Day = 0; int NotRipeTomatoNum = 0; bool isInside(int x, int y) { if (0 0) { Day++; return RipeTomatoes(RipeTomatoXpos, RipeTomatoYpos); } return false; } int main(void) { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> M >> N; vec..
분명 알고리즘은 맞는데 왜 틀린건지 모르겠고 몇시간을 고민하다가 드디어 해결방법을 찾았는데 입력 부분에서 반복 횟수를 E번이 아니라 V번으로 해서 틀렸었다 #include #include #include #include using namespace std; const int INF = 987654321; int V, E, K; vector adj[400000]; vector dijkstra(int src) { vector dist(V + 1, INF); dist[src] = 0; priority_queue pq; pq.push(make_pair(0, src)); while (!pq.empty()) { int cost = -pq.top().first; int here = pq.top().second; pq..