오늘은 2페이지 끝까지 다 풀었다.
알고리즘 문제풀이
DataFrame은 pandas라는 데이터 분석 모듈 안에 들어있는 데이터 출력 함수다. dataFrame 안에 들어가는 데이터 자료형은 딕셔너리이다. from pandas import DataFrame data = {'col0':[1,2,3,4],'col1':[10,20,30,40],'col2':[100,200,300,400]} df = DataFrame(data) print(df) 위의 코드를 출력하면 이런식으로 나오는 게 dataFrame이다. 여기서 각 컬럼은 pandas의 Series의 형태로 들어가 있다. print(df['col0']) print(df['col0'][0]) 이런식으로 컬럼을 꺼내보면 Series 가 나오고 그 시리즈의 인덱스를 통하여 값 하나하나를 받을 수 있다. data =..
1. DFS(Depth First Search) - 스택 또는 재귀를 사용해서 구현 위의 트리를 인접행렬로 나타내는 코드 adj = [[0] * 13 for i in range(13)] adj[0][1] = adj[0][7] = 1 adj[1][2] = adj[1][5] = 1 adj[2][3] = adj[2][4] = 1 adj[5][6] = 1 adj[7][8] = adj[7][9] = 1 adj[9][10] = adj[9][11] = adj[9][12] = 1 for row in adj: print(row) 13*13 행렬을 만들었다. 이를 토대로 dfs를 짜면 def dfs(now): for nxt in range(13): if adj[now][nxt]: print(now, '->', nxt, '..
1. 그래프 각 점을 Vertex 또는 node라고 부르고 점들을 연결하는 간선을 edge라고 부르는 구조이다. 방향성으로 분류하면 무방향(양방향) 그래프와 방향 그래프로 분류 할 수 있다. 한 곳이라도 순환하는 지점이 있으면 순환 그래프, 없으면 비순환 그래프이다. DAG(Directed Acyclic Graph)라는 것도 있는데 순환하지 않으면서 방향성이 정해져있는 그래프이다. 2. 트리 (순환성이 없는 무방향 그래프 어떤 노드도 루트 노드가 될 수 있다. (어디서 시작을 하든 다른 모든 노드로 갈 수 있음.) 가장 바깥쪽 노드는 리프 노드. A 노드에서 B 노드로 가는 경로가 반드시 존재하며 유일하다. 노드 개수 = 간선 개수 + 1) 위의 설명은 수학적인 개념이고 코딩쪽에서는 보통 부모 자식 관계..
https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net #물이 새는 곳 개수 N, 테이프의 길이 L N, L = map(int, input().split()) #0~1000까지 이므로 1001개 좌표 False설정 coordi = [False] * 1001 #물이 새는 곳의 좌표 입력받기 for i in map(int, input().split()): coordi[i] = True #확인할 좌표 포인터 x, 필요한 테이프 개수 cnt ..