NOTE/Algorithm 21

[알고리즘문제] acmicpc_단어의개수

https://www.acmicpc.net/problem/1152집가기전 심심풀이 문제. C++ 14 버전으로 냈더니 자꾸 strtok부분에서 에러뜨길래걍 C++로 냈더니 되네.버전에 따라 strtok이 strtok_s로 쓰이는건 알고있는데,strtok_s로 해도 C++14에서 부분에러뜨던데strtok_s 때문에 헤더를 string.h랑 cstring 넣어도 에러가 떴었고 흠..이건 어떻게 뭐가 잘못된걸까 (-.-)? 결국 해결된 소스는 걍 C++ 버전의 원래 소스로 낸 아래것12345678910111213141516171819202122#include#include #define SIZE 1000001using namespace std; int main() { char arr[SIZE] = { 0, }..

NOTE/Algorithm 2018.04.01

[알고리즘] 에러의 종류 (펌)

런타임 에러 말 그대로 Run-time Error. 실행시에 일어나는 에러. 대부분 프로그램을 짤때의 설계 미숙(=문법적으로 오류가 없는 경우가 많다!)으로 일어나며 이 외에도 기계적 결함등으로 일어나기도 한다. 설계 미스로인한 런타임에러의경우는 대표적으로 무한 루프(조건문을 잘못써서 일정조건을 계속 만족시키며 조건문에서 빠져나가지 못하는 경우)또는 Div/0(0으로 나누는 경우)등이 있으며 이 외에도 아-주 많다.(런-타임 에러라는게 프로그램 실행시 일어나는 에러라는뜻이므로 워낙 크게 분류해서 그런게 없지 않다.) 컴파일타임 에러 말 그대로(2) Compile-time Error. 컴파일시의 에러. 대부분 문법 오류가 주. 이 경우에는 컴파일 되지 않으며 Warning이나 Error가 상태창에 뜬다.(..

NOTE/Algorithm 2018.04.01

[알고리즘문제] DFS와 BFS

https://www.acmicpc.net/problem/1260 내가 푼건아니고 다이나믹 프로그래밍 강의에서 이 문제를 빠르게 적으시는데좋은 코드여서 옮겨놓는것 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071#include #include #include #include using namespace std; vector a[1001];bool c[1001]; void dfs(int x){ if (c[x]) return; cout y; a[x].push_back(y); a[y].push_back(x); } for (..

NOTE/Algorithm 2018.04.01

[자료구조] 다이나믹 프로그래밍 강의 정리

출저 - > 유튜브 강의 https://www.youtube.com/watch?v=0o2hF-To_6Q 를 보면서 정리 [ 다이나믹 프로그래밍 ]- 큰 문제를 작은 문제로 나눠서 푸는 알고리즘- 두가지 속성을 만족해야 다이나믹 프로그래밍으로 문제를 풀 수 있다.1. Overlapping Subproblem (겹치는 부분문제)2. Optimal Substructure (최적 부분구조) ex - 피보나치 수1234567891011int fibonacci(int n){ if (n 4->2->1 보다10->9->3->1 이 더 빠르다. 위 '1로 만들기' 문제를 Top-down 방식으로 풀게 되면..123456789101112131415161718192021222324252627282930int go(int n..

NOTE/Algorithm 2018.04.01

[Algorithm] A* 알고리즘

게임에서 목적지에 대한 길을 찾는 알고리즘을 사용할 때를 위해 A* 알고리즘을 학습해 놓자. (참고)잘정리된 블로그 : http://lhh3520.tistory.com/343잘 설명해주는 유툽강의 (Sebastian Lague) : 아래 이미지들 출처 A* 알고리즘에는 우선 열린목록 (Open List ) // 거리를 고려할 수 있는 갈 수 있는 곳닫힌목록 (Close List) // 가장 짧은 거리를 가진 곳부모 // 각 노드들이 속해있는 부모가 존재하게 된다. F = G + H길찾기를 위해 판단할 값 = 닫힌 목록에 있는 사각형과의 거리 + 목적지까지의 거리(장애물 고려X) 목적지에 도착하고서는 목적에서부터 부모 사각형을 따라서 거슬러 올라가는 길이최단거리가 된다.초록색들이 열린 목록빨간색이 닫힌 목..

NOTE/Algorithm 2016.11.23