전체 글 35

그래프 기초

https://m.blog.naver.com/PostView.nhn?blogId=babobigi&logNo=220479341235&proxyReferer=https%3A%2F%2Fwww.google.com%2F 그래프 자료구조는 정점(Node, Vertex)과 정점간의 관계인 간선(Edge)으로 나타낼 수 있다. G = (V, E) 경로(Path)는 정점 a에서 b로 이동할 때의 다양한 방법을 나타낸다. 위의 그래프에서 1에서 4로 이동할 경우, 1->3->4 1->2->3->4 가 존재한다. 실생활에서의 예를 들면 서울에서 부산까지 갈 때, 대구를 거쳐서 가는지, 울산을 거쳐서 가는지에 따라 경로가 달라지겠다. https://manducku.tistory.com/21 사이클(Cycle)은 a 정점에서 ..

css선택자의 우선도

* CSS 선택자: CSS선택자에는 class, id, tag 등이 있다. * 기본적으로 우선 순위를 따질 때에는 id>class>tag로 판단하여 컴파일 된다. 예) head 태그 하의 style 블록에서 css로 아래와 같이 지정했다 치자. 여기서 .js는 "js"인 클래스를 나타내고, #first는 id, span은 한 구간을 나타내는 태그이다. 그렇다면 body의 아래 코드는 어떻게 나올까? span, id, class에 모두 해당되는 것을 알 수 있다. 결과는, 초록색으로 나온다. 이로서 세 가지 선택자의 가장 상위 순위는 "id" 인것을 알 수 있다. 그러면 id선언을 지워버린다면? 아래와 같이 빨간색으로 나온다. 여기서 "js"클래스가 태그보다 위이다. 그리고 역시 클래스를 지우면 파랗게 나..

FrontEnd/JS, CSS 2020.08.13

파이썬 거북이로 모양그리기

최근 데이터 관련 프로그램을 다루는 데 필수인 python을 공부 중에 잠깐 머리도 식힐 겸 재밌는 놀이가 생겼다. 필자는 python하고 c언어를 공부하는데 코딩도장이라는 온라인 무료강좌로 익혔는데... 이런 곳 없다. 책보다 좋다. 언어를 사용하는데 필요한 기본기를 ㄱㄴㄷ부터 친절히 알려주는 기분이고 무엇보다 무료다.........! 언어를 기본부터 차근차근 익히고 싶으시다면 여기를 강추한다. 아무튼 이 놀이는 바로 이름하여 '터틀 그래픽스 (Turtle graphics?)' 라는 것. python IDLE에 기본적으로 탑재되어 있는 모듈인 것 같다 어린이 및 초보자가 파이썬을 쉽게 배울 수 있도록 만든 모듈이라는데 다 큰 어른이가 아무생각 없이 하기에 아주 좋은 것 같다 ㅎㅎ 먼저 IDLE에 imp..

카테고리 없음 2019.08.01

bfs와 dfs 구현해보기

#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include using namespace std; vector a[1001]; // 2차원 동적배열 bool check[1001]; // 방문 플래그 void dfs(int node) { check[node] = true; for (int i = 0; i < a[node].size(); i++) { int next = a[node][i]; if (check[next] == false) { dfs(next); } } } void bfs(int start) { memset(check, false, sizeof(check)); // dfs를 수행한 후이기 때문에 초기화. check[st..

백준2667번: 단지번호 붙이기 / dfs & bfs

#define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; // 백준 2667 단지번호 붙이기 // 2차원 bfs로 풀이 int grid[26][26]; int check[26][26]; int block[700] = { 0, }; int dx[4] = { -1, 1, 0, 0 }; int dy[4] = { 0,0,-1,1 }; int n; void bfs(int x,int y,int bcnt) { queue q; q.push(make_pair(x, y)); int acnt = 1; check[x][y] = bcnt; while (!q.empty()) { x = q.front().first; y = q.front().se..

코딩 연습문제 2019.07.18

백준 2178번: 미로 탐색 / bfs 구현

#define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; int check[101][101]; //방문여부와 거리 합산하여 저장한다. int grid[101][101]; int dx[4] = {-1,0,0,1 }; int dy[4] = { 0,-1,1,0 }; int n, m; int bfs(int x, int y){ queue q; check[1][1] = 1; q.push(make_pair(x, y)); while (!q.empty()) { x = q.front().first; y = q.front().second; q.pop(); for (int i = 0; i < 4; i++) { int nx = x + dx[i..

코딩 연습문제 2019.07.18

C++에서 reference variable (참조형 변수) 로서의 "&"

C++에서는 C에서와는 달리 "&"연산자의 사용도가 한 가지 더 있다. 그것은 바로 "reference variable (참조형 변수)" 로서 쓰일 경우이다. 코드예시를 살펴보면, 여기서 함수 f에 들어가는 매개변수 자리에 int &ref 가 들어간 것을 볼 수 있다. 변수를 선언할 때 &연산자를 넣게되면, C++에서는 컴파일러가 참조형 변수로 인식하게 되는데, 참조형 변수를 선언할 때에는 반드시 참조형 변수가 가리키는 변수를 초기화해주어야 한다. 예) int var; int &ref = var; 참조형 변수는 함수 밖의 값을 바꿀 수 있다는 점이 포인터와 비슷하다. 함수간 매개변수로 포인터를 전달하여 함수 scope외의 변수를 바꾸는 것은 다들 익숙할 것이다. 하지만 참조변수의 사용은 포인터를 사용할 ..