분류 전체보기
[Django project #1] conda + Django + mysql 개발 환경 구축하기 (1) for Mac
1. Mac 에서 conda 가상환경 설치하기 1) conda 설치하기 Anaconda | Individual Edition Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 위 anaconda 사이트에서 conda를 다운로드 해야한다 사이트 스크롤을 내리다 보면 위와 같은 화면이 나오고, 여기서 Graphical Installer 를 선택한다 설치 완료 후 // 제대로 설치가 되었는지 확인 conda --version // 최신버전으로 업데이트 conda update conda 설치..
[백준 11404] 플로이드 C++
11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 최단경로 플로이드-와샬 알고리즘 11404문제 예제 입력의 그래프이다 숫자가 겹쳐보이는 이유는 1 4 1 , 1 4 2 처럼 1번에서 4번 노드로 가는 경우의 비용이 중복되어서 입력되기 때문이다 플로이드-와샬 알고리즘은 동적계획법을 활용한 알고리즘이다 그래서 임의의 vertax 에서 다른 vertax로 가는 모든 경우의 수를 조사해서 최소 비용을 구할 수 있다. 그리고 다익스트라 최단거리 알고리즘은 edge의 비용이 음수인 경우는 찾지 못하는 반면 플로이드-와샬 ..
[백준 3109] 빵집 C++
3109번: 빵집 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 www.acmicpc.net 이 문제는 그리디 알고리즘을 적용한 DFS문제이다 그리디를 어떻게 적용하는가?? 항상 오른쪽 위 부터 탐색을 해야한다(0번째 Row부터 탐색할 경우만 해당. R-1번째 부터 탐색하면 오른쪽 아래부터 탐색) 탐색을 한 부분은 다시 탐색하지 않는다! (DP개념도 같이 적용) 문제를 이해했다면 항상 오른쪽 위 부터 탐색해 간다는건 쉽게 이해할 수 있다 나도 처음엔 이것만 생각해서 백트래킹 방식을 적용해 37 번 라인에 방문했던 곳을 초기화 해주는 코드(Map[r][c] = 0;)가 ..
Linux - GCC/Make
Linux 가상환경에서 GCC를 이용해 .C 파일을 컴파일 하는 다양한 방법을 공부해 보았다 // unix3.h #include void printUNIX(); void printGCC(); // unix3-1.c #include #include "unix3.h" int main(){ printUNIX(); printGCC(); return 0; } // unix3-2.c void printUNIX(){ printf("UNIX\n"); return 0; } // unix3-3.c void printGCC(){ printf("GCC\n"); return 0; } 새로 만든 directory 안에 위 파일들을 만들어 준다 그리고 gcc unix3-1.c 를 입력하면 위와 같은 오류를 볼 수 있다 위와 같은 ..
[백준 12015] 가장 긴 증가하는 부분 수열2 C++
12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net 이전까지 풀어봤던 LIS 문제들과 푸는 방법이 조금 다르다 기존LIS는 for문을 2번 돌려서 O(n^2) 시간안에 풀었다면 이번 문제는 수열의 크기가 N st){ int mid = (st + ed)/2; if(key > arr[mid]){ st = mid+1; } else{ ed = mid; } } return ed; } void solve(){ int cnt = 1; res.push_back(arr[0]); for(int i = 1; i
SystemSoftware - float #2
Float 자료형에 대해서 2 소수점을 가지는 자료형은 rounding 에 민감하다! 마지막 숫자가 5인 경우 반올림 이후의 숫자에 따라서 결정된다 위 Binary들은 모두 소수 3번째 자리에서 반올림을 하려고 준비중이다 1번은 소수 3번째 자리가 0이므로 내림이 적용된다. 2번은 소수 3번째 자리가 1이고 4번째 자리도 1이므로(절반보다 크다!) 올림이 적용된다. 3번은 소수 3번째 자리가 1이고 올림을 할 경우 소수 2번째 자리가 0이되어 짝수가 되므로 올림이 적용된다. 4번은 소수 3번째 자리가 1이고 올림을 할 경우 소수 2번째 자리가 1이 되어 홀수가 되므로 내림이 적용된다. Practice Value Binary Fraction Exponent 128 10000000 1.0000000 7 15..
SystemSoftware - float #1
Float 자료형에 대해서 1 ex ) $$ 0.111111111..._2 = 1.0 $$ float 자료형은 sign bit를 나타내는 S exponential을 나타내는 exp fractional value를 나타내는 frac 부분으로 나눌 수 있다 Normalized value exp != 0 || exp != 11111111...1 E = exp - bias $$Bias = 2^ k / 2 -1$$ M 은 소수점 아래 부분에 그대로 들어가게 된다. float F = 15213.0 을 예시로 알아보자 15213 = 11101101101101 = 1.1101101101101 * 2^13 M = 1101101101101 frac = 11011011011010000000000 E = 13 Bias = 1..
2021.04.19
알고리즘 시험과 컴퓨터 구조 시험을 쳤다 알고리즘은 재작년보다 쉬웠던 것 같아 다 적긴했는데 부분감점이 많을 것 같다.. ㅎㅎ 컴퓨터구조는 이번에 공부를 많이 안했으니 기말에 신경을 써줘야겠다,, 진짜 암기과목은 너무 힘들어 내일 시험치는 운영체제와 시스템소프트웨어 강의를 조금 돌려보고 백준 문제를 풀고 백준에서 부산대학교 랭킹을 심심해서 봤다 봤더니 자기 블로그 주소나 깃허브 주소를 올려놓으신 분이 많았다. 그래서 우연히 하나를 골라서 들어가 보게되었는데 정말 놀랐다 나랑 같은학번인데 복수전공하시는분 같았다 그런데 블로그 정리를 너무 잘해놓으셔서 깜짝 놀랐다 본인이 공부한 내용들을 차곡차곡 정리해놓은 블로그를 보니까 동기부여가 진짜 많이 된다. 나도 전과를 작년에 했고 코딩에 발을 좀 늦게 들여서 아직..
Stack Permutation C++
순열을 구하기위해 dfs를 사용했는데 visit 배열 대신 stack을 사용해서 구현해보았음 n이 8이 넘어가면 하루종일 걸려요.. 모든 경우의 수를 출력해주기 때문에 어쩔 수 없다 if(node == N) 부분의 for 문을 보면 N이 i에 대한 조건으로 있는데 이 N을 입력받은 N보다 작게 바꿔주면 ex ) N이 6일 때 4로 설정 -> 6까지의 숫자 중 4개를 골라 만들 수 있는 모든 순열이 출력된다 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 31 32 #include #include using namespace std; vector _stack; int N, check[10] = {0, }; vo..
Union Find Basic Code C++
Union Find를 이해하기 위한 기본 코드 findTopnode를 통해서 최상단 노드를 알 수 있다 union_node를 통해서 입력된 수의 최상단노드를 찾아 두 수를 연결해주는 작업을 한다 check_node를 통해서 두 수가 서로 연결 되었는지 알 수 있다 www.cs.usfca.edu/~galles/visualization/DisjointSets.html Disjoint Sets Visualization www.cs.usfca.edu 위 사이트에서 눈으로 직접 보면서 이해할 수 있다!! 좋음 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 31 32 33 34 35 36 37 38 39 40 41 4..