Skip to content

Commit e1514ca

Browse files
committed
Algo Study
1 parent 1d8172f commit e1514ca

File tree

6 files changed

+113
-2
lines changed

6 files changed

+113
-2
lines changed

.DS_Store

6 KB
Binary file not shown.

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ SK_2.py
22
line.py
33
CT_folder
44
text.txt
5-
tech-interview-for-developer
5+
tech-interview-for-developer
6+
.cph

1_2_3_더하기_3.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
ipt = []
2+
n = int(input())
3+
for _ in range(n):
4+
ipt.append(int(input()))
5+
M = max(ipt)
6+
dp = [0]*(M+1)
7+
dp[1] = 1
8+
dp[2] = 2
9+
dp[3] = 4
10+
11+
if M >=4:
12+
for i in range(4,M+1):
13+
dp[i] = (dp[i-1] + dp[i-2] + dp[i-3])%1000000009
14+
for i in ipt:
15+
print(dp[i])

BOJ_/Solved/BOJ_2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ def xprint(a):
257257
꺼내는 속도를 더욱 더 빠르게 하기위해 queue 를 써볼까 한다
258258
'''
259259

260-
# from collections import deque
260+
# from collections import dequer
261261

262262
# def Csort(lst):
263263
# counting = [[i,0] for i in range(101)]

H-index.py

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
from collections import deque
2+
def solution(n, wires):
3+
i = 0
4+
table = [[] for _ in range(n)]
5+
answer = 1e9
6+
for i,j in wires:
7+
i,j = i-1,j-1
8+
table[i].append(j)
9+
table[j].append(i)
10+
11+
for i in range(n-1):
12+
a,b = wires[i]
13+
a -=1
14+
b -=1
15+
table[a].remove(b)
16+
table[b].remove(a)
17+
link = [None for _ in range(n)]
18+
for j in range(n):
19+
now = link[j]
20+
q = deque()
21+
if now == None:
22+
link[j] = j
23+
for k in table[j]:
24+
q.append(k)
25+
while q:
26+
new = q.popleft()
27+
if link[new] == None:
28+
link[new] = j
29+
for k in table[new]:
30+
q.append(k)
31+
c,d = min(link),max(link)
32+
cc,dc = link.count(c),link.count(d)
33+
print(link)
34+
print(c,d)
35+
print(cc,dc)
36+
cal = abs(cc-dc)
37+
answer = min(cal,answer)
38+
table[a].append(b)
39+
table[b].append(a)
40+
return answer
41+
42+
n = 7
43+
wires = [[1, 2], [2, 7], [3, 7], [3, 4], [4, 5], [6, 7]]
44+
solution(n,wires)

Y_수열.py

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
'''
2+
case 1
3+
증가라면 무조건 증가수열밖에 없음
4+
case 2
5+
감소라면 무조건 감소수열밖에 없음
6+
7+
바꿔줘야한다면 0 index 값이 최대 혹은 최솟값이어야함.
8+
쭉 체크하다가 증가하면 증가수열 플래그 감소하면 감소수열 플래그
9+
10+
'''
11+
import heapq
12+
heapq.heapify
13+
n = int(input())
14+
data = list(map(int,input().split()))
15+
b4 = data[0]
16+
uf,df = 0,0
17+
us,ds = 0,0
18+
swap = 0
19+
for i in range(1,n):
20+
now = data[i]
21+
if us:
22+
if b4 > now or now > data[0]:
23+
us = -1
24+
b4 = now
25+
if ds:
26+
if bf < now or now < data[0]:
27+
ds = -1
28+
b4 = now
29+
if not us and not ds:
30+
break
31+
32+
if uf and not us:
33+
if now < b4:
34+
uf = i
35+
us = i
36+
else:
37+
if b4 == now:
38+
continue
39+
elif b4 < now:
40+
uf = i
41+
if df and not ds:
42+
if now > b4:
43+
bf = i
44+
ds = i
45+
else:
46+
if b4 == now:
47+
continue
48+
else:
49+
bf = i
50+
b4 = now
51+
print(us,ds)

0 commit comments

Comments
 (0)