일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Git
- 그리디
- 4장
- c언어
- python기초
- 인스타
- git기초
- c언어 기본
- 자료구조
- #코린이 #코딩 #할 수 있다
- 코테
- DP
- python기본
- python자료형
- 데베시 1주차
- 코딩테스트
- 5장
- 인텔리제이
- 참고X
- git 오류
- 운체 1주차
- 스택
- 도커
- 최단거리
- git오류
- Workbench
- 파이썬 알고리즘 인터뷰
- c언어 제어문
- 백준
- 1주차(1)
- Today
- Total
목록전체 글 (103)
하루살이 개발자
최소스패닝트리 문제입니다. 문제링크:https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 풀이 크루스칼 알고리즘, Union+find 알고리즘 이용하는 문제 Code # 최소 스패닝 트리 # 크루스칼 알고리즘 import sys input = sys.stdin.readline v, e = map(int, input().split()) # 부모 테이블 초기화 parent = [0] * (v+1) for i..
1. 신장 트리 - 그래프에서 모든 노드를 포함하면서 사이클이 존재하지 않는 부분 그래프를 의미한다. * 모든 노드가 포함되어 서로 연결되면서 사이클이 존재하지 않는 다는 조건은 트리의 조건이기도 한다. 2. 최소 신장 트리 - 최소한의 비용으로 구성되는 신장 트리를 찾아야 할 때 - 크루스칼/프림 알고리즘 1) 크루스칼 알고리즘 - 대표적인 최소 신장 트리 알고리즘이다. - 그리디 알고리즘으로 분류된다. [동작 과정] 1. 간선 데이터를 비용에 따라 오름차순으로 정렬한다.(비용이 적은 순으로 나열) 2. 간선을 하나씩 확인하며 현재의 간선이 사이클을 발생시키는지 확인한다. 1) 사이클이 발생하지 않는 경우 최소 신장 트리에 포함시킨다. 2) 사이클이 발생하는 경우 최소 신장 트리에 포함시키지 않는다. ..
단지번호붙이기 문제입니다. 문제링크: https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net Code def dfs(x, y): global count if x = n or y = n: # 주어진 범위를 벗어나는 경우 return False if graph[x][y] == 1: # 현재 노드를 아직 방문하지 않은 경우 graph[x][y] = 0 # 방문 처리 count += 1 # 동서남북 위치들 모두 재귀적으로 호출 dfs(x - 1, y) dfs(..
DFS와 BFS 문제입니다. 문제링크: https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net Code import sys from collections import deque input = sys.stdin.readline n, m, v = map(int,input().split()) # 인접 리스트 graph = [[]*n for _ in range(n+1)] for _ in range(m): # 간선의 개수 ..
1. 최대공약수 구하기 - 두 개의 자연수에 대한 최대공약수를 구하는 유클리드 호제법 알고리즘 이용한다. - 유클리드 호제법 ->두 자연수 a, b에 대하여(a > b) a를 b로 나눈 나머지를 R이라 하면, a와 b의 최대공약수는 b와 R의 최대공약수와 같다. - 유클리드 호제법의 아이디어를 그대로 재귀 함수로 작성 def gcd(a, b): if a % b == 0: return b else: return gcd(b, a % b) print(gcd(192, 162)) 2. 최소공배수 구하기 - 서로 다른 수 a, b의 배수중에서 공통되는 배수 중에 가장 작은 값을 의미한다. - 최소공배수는 a, b의 곱을 a, b의 최대 공약수로 나누면 된다. def lcm(a, b): return a * b / g..
GitHub 오류 원인 repository를 만들면서 README.md 파일을 생성했다. 로컬에서 생성한 repository와 리모트에서 생성한 repository의 내용이 다르기 때문에, git pull을 통해 리모트의 파일(README.md 파일)을 로컬에 생성하게 하고나서 push하라는 것 같다. 정확한 원인은 잘 모르겠다. 해결방안 git pull 도 소용이 없어서 강제로 push 했다. git push origin main --force *참고 --force 옵션을 실행하면 기존 repository의 commit 내역이 모두 삭제되고, 현재 내가 작업한 commit 내역만 남으므로 조심해야 한다.
mysql 클라이언트 종류 1. mysql-monitor - mysql 서버의 기본 프로그램(기본으로 같이 다운됨) - 제어 방법 꼭 익혀야 함!! - 무료 - mysql -u아이디 -p비밀번호 2. mysql query browser - 기본으로 설치 안되어있음 - GUI 환경(윈도우에서만) - http://dev.mysql.com/downloads/gui-tools/5.0.html 3. phpMyAdmin - 서버에 직접 설치하는 웹 프로그램 - http://www.phpmyadmin.net/home_page/index.php 4. navicat - 가치있는 안정적인 프로그램 - 유료 - http://www.navicat.com/ mysql-monitor 접속(윈도우) mysql -u아이디 -p비밀번..