Anaconda 혹은 miniconda 설치 후에 명령 프롬프트(CMD)에서 conda 명령어를 인식하지 못하는 경우에 'conda'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 와 같은 문구가 나옵니다. 이는 conda의 위치를 모르기 때문이므로, 환경 변수를 편집해서 경로를 알려주면 해결됩니다. 1. 제어판 - 시스템 환경 변수 편집 2. 환경 변수 3. Path 항목 더블 클릭 4. 환경 변수에 경로 추가 아래의 3개 경로를 추가해주시면 됩니다. (anaconda3를 설치했을 경우에는 miniconda3 대신 anaconda3) C:\Users\username\miniconda3 C:\Users\username\miniconda3\Library C:\User..
TypeError: 'int' object is not subscriptable = int 객체는 subscript 할 수 없습니다. subscript란 [1] (1) 이런식으로 기입하는 것을 말한다. 따라서 이런 오류가 발생했다면, 리스트의 경우 a[1] 이런식으로 인덱스를 활용할 수 있지만 int 값이 들어있는 변수 a를 a[1] 같은 식으로 표현된 것이 아닌지 확인한다.
파이썬 파일(.py)을 생성하고 간단하게 아래와 같은 코드를 작성한 뒤에 실행해보겠습니다. if __name__ == '__main__': print('1+1=') print('2') 실행결과: 위와 같이 1+1 = 2 가 아니라 자동으로 첫번째 print 명령이후에 줄이 바뀐 것을 확인할 수 있습니다. 이것은 print 명령어에 기본적으로 마지막에 줄바꿈 문자가 붙기때문입니다. 따라서 end 인자를 설정하여 줄바꿈을 없애거나 줄바꿈 대신 다른 문자를 사용할 수 있습니다. if __name__ == '__main__': print('1+1=', end='') print('2') end 인자로 '' 빈문자를 줄 경우에는 아래와 같이 1+1= 이후에 바로 2가 나오는 것을 확인할 수 있습니다. 아래와 같이 ..
명령 프롬프트에서 설치된 파이썬의 버전을 확인해보겠습니다. 당연히 파이썬이 제대로 설치가 되어있고 Path 지정이 되어있어야 올바르게 인식하여 버전이 표시될 것입니다. python -V 을 입력해주시면 됩니다. (대문자 V) 이번엔 가상환경을 실행하여 다른 가상환경에서의 파이썬 버전을 한번 확인해보겠습니다. 아나콘다 프롬프트에서 먼저 activate 명령어로 가상환경을 실행해보겠습니다. (이전에 미리 생성해두었던 venv_web 환경입니다.) 위와 같이 가상환경에서는 다른 버전의 파이썬이 설치되어있는 것을 확인하실 수 있습니다.
벨만-포드 알고리즘(Bellman-Ford algorithm)은 시작노드에서 다른 모든 노드로 가는 최단 경로를 구하는 알고리즘이다. 길이(가중치)가 음수인 사이클을 포함하지 않는 모든 그래프를 처리할 수 있다. 또한 길이(가중치)가 음수인 사이클을 포함하는 지도 확인할 수 있다. 시작노드의 거리는 0으로 그리고 나머지 노드까지의 거리는 무한대로 초깃값을 설정하고, 이 값들을 차례로 줄여나가면서 더는 줄일 수 없을때 까지 반복한다. 알고리즘은 n-1번 진행되며, 라운드마다 m개의 간선을 처리하기 때문에 시간복잡도는 O(nm)이다. #include #include #include using namespace std; #define INF 99999999; int main() { // 간선 리스트 (시작노드..
먼저 깊이 우선 탐색은 노드에서 진행할 수 있는 최대 지점까지 진행하고 되돌아오면서 옆으로 넘어가는 방식이다. 아래의 예시에서는 인접리스트로 그래프를 표현했고, 0번 노드에는 1, 3번 노드가 연결되어있다. 1번에는 2, 4번 노드가, 그리고 2번과 4번 노드는 5번과 연결되어있다. #include #include using namespace std; const int N = 6; // 인접리스트 vector adj[N]; //깊이 우선 탐색 bool visited[N]; void dfs(int s) { if (visited[s]) return; visited[s] = true; cout
최소공배수는 a * b 를 a와 b의 최대공약수로 나누면 쉽게 구할 수있다. 최대공약수를 찾기위해 유클리드 호제법을 이용하면 쉽다. 유클리드 호제법이란, a 와 b의 최대공약수를 구하기위해 a%b=c를 사용한다. c가 0이라면 b가 최대공약수이고, c가 0이 아니라면 gcd(a,b) = gcd(b,c)를 계산하면 된다. 15와 6의 최대공약수를 구하자면 15%6 = 3이므로 gcd(15,6) = gcd(6,3)과 같고 gcd(6,3)은 6%3 = 0 이므로 3이 최대공약수가 된다. 이를 코드로 구현하면 아래와 같다. int gcd(int a, int b){ if(b==0) return a; return gcd(b, a%b); } 추가로 확장 유클리드 알고리즘이 존재하는데, 이는 ax + by = c 에서..