Skip to content

Commit 9b70ab5

Browse files
committed
정리
1 parent 1dcaf97 commit 9b70ab5

File tree

3 files changed

+94
-4
lines changed

3 files changed

+94
-4
lines changed

백준문제/최소환승경로.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
n, l = int(input())
2+
3+
station = []
4+
5+
for i in range(l):
6+
station.append(map(int, input().split()))
7+
8+
start, end = map(int, input().split())
9+
10+
def dfs()

아이디어정리.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import 정리
2+
3+
#기본문법
4+
##enumerate
5+
a= ['hong', 'gil', 'dong']
6+
b= []
7+
c= {}
8+
for i, name in enumerate(a):
9+
b.append((i, name))
10+
c[i] = b[name]
11+
12+
##lambda x, y:x, y
13+
print(lambda x, y, z : x+y-z)(3, 4, 9)
14+
lambdas=[lambda x:x+10, lambda x:x+100]
15+
print(lambdas[0](5))
16+
17+
#구현
18+
정리.DP
19+
정리.DP2
20+
#아이디어
21+
#객체를 최대한 잘 활용한다
22+
#최대한 곱해줘야 크다
23+
#모든 상황을 셈하기가 가능할 때, 모든 경우의 수를 계산하도록 한다.
24+
25+
#정렬
26+
정리.quick
27+
정리.count
28+
29+
#해시
30+
정리.hash
31+
32+
#완전탐색
33+
정리.bi
34+
정리.dfs
35+
정리.bfs
36+
37+
#기본 아이디어
38+
#1. 함수는 방문하지 않은 장소를 완전하게 탐색할 방법으로 만들어진다.
39+
#2. 상황에 맞게 함수를 적용시킨다
40+
41+
#활용 아이디어
42+
#1. 모든 거리가 1일 때 너비 탐색을 시작한다.
43+
#2. 모든 상황을 셈하기가 가능할 때, 모든 경우의 수를 계산하도록 한다.
44+
45+
46+
47+

정리.py

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ def bfs(gragh, start, visited):
3939
else :
4040
break
4141

42-
#퀵 정렬, O(NlogN)
43-
def q(array):
42+
#퀵 정렬, O(NlogN)
43+
def quick(array):
4444
if len(array) <= 1 :
4545
return array
4646
pivot = array[0] #피벗은 첫 번째 원소
@@ -51,7 +51,7 @@ def q(array):
5151
return q(left_side) + [pivot] +q(right_side)
5252

5353
#계수정렬, O(N+K)
54-
def k(array):
54+
def count(array):
5555
count = [0]*(max(array) + 1)
5656
#데이터를 인덱스로 저장하기
5757
for i in range(len(array)):
@@ -84,7 +84,6 @@ def hash(participant, completion):
8484
if dict[key] > 0 :
8585
return key
8686

87-
8887
#이진탐색, O(N)
8988
def bi(array, target, start, end):
9089
while start <= end :
@@ -98,6 +97,40 @@ def bi(array, target, start, end):
9897
start = mid + 1
9998
return None
10099

100+
#다이나믹프로그래밍 탑다운, O(N)
101+
d = [0]*100
102+
def DP(x):
103+
if x ==1 or x==2:
104+
return 1
105+
if d[x] != 0:
106+
return d[x]
107+
d[x] = DP [x -1] + DP[x-2]
108+
return d[x]
109+
110+
#DP 보텀업, O(N)
111+
def DP2(n):
112+
d=[0]*100
113+
d[1] = 1
114+
d[2] = 1
115+
116+
for i in range(3, n+1):
117+
d[i] = d[i-1] + d[i-2]
118+
119+
return d[n]
120+
121+
#emumerate
122+
a= ['hong', 'gil', 'dong']
123+
b= []
124+
c= {}
125+
def enu(a, b, c):
126+
for i, name in enumerate(a):
127+
b.append((i,name))
128+
c[i]=b[name]
101129

102130

131+
132+
133+
134+
103135

136+

0 commit comments

Comments
 (0)