Skip to content

Commit b9d0e26

Browse files
authored
Merge branch 'AlgorithmStudy-Allumbus:main' into main
2 parents 807f57e + 1302ca6 commit b9d0e26

File tree

27 files changed

+838
-1
lines changed

27 files changed

+838
-1
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
"""
2+
input : ์ด ์œ ์ œํ’ˆ ์ˆ˜ N , ๊ฐ ์ œํ’ˆ ๊ฐ€๊ฒฉ
3+
goal : ๋ชจ๋‘ ์‚ด๋•Œ ์ตœ์†Œ ๋น„์šฉ
4+
Condition
5+
1. 3๊ฐœ ์ค‘ ๊ฐ€์žฅ ์‹ผ๊ฒƒ๋งŒ ๋ฌด๋ฃŒ, ๋‚˜๋จธ์ง€ 2๊ฐœ๋Š” ๊ฐ€๊ฒฉ ์ง€๋ถˆ
6+
7+
# Flow(greedy)
8+
1. 3๊ฐœ์”ฉ ๋ฌถ๊ธฐ
9+
- ๊ฐ’์ด ํฐ ๋†ˆ๋“ค ์ˆœ์œผ๋กœ ์ •๋ ฌ
10+
2. ๊ฐ ๋ฌถ์Œ ๋ณ„ ์ œ์ถœ ๊ฐ€๊ฒฉ count ํ•˜๊ธฐ
11+
12+
๋ฌธ์ œ : https://www.acmicpc.net/problem/11508
13+
"""
14+
15+
import sys
16+
input = sys.stdin.readline
17+
n = int(input())
18+
products = list()
19+
# 1. price ์ž…๋ ฅ ๋ฐ›๊ธฐ
20+
for i in range(n):
21+
each_price = int(input())
22+
products.append(each_price)
23+
24+
# 2. ๊ฐ€๊ฒฉ ๋น„์‹ผ ์ˆœ = priority์œผ๋กœ item ์ •๋ ฌ
25+
products = sorted(products , reverse= True)
26+
print(products)
27+
# 2. for ๋ฌธ์œผ๋กœ ์ด price ๊ณ„์‚ฐํ•˜๊ธฐ
28+
# ์ด๋•Œ item 3๊ฐœ ๋ฌถ์Œ์ด ์ถฉ์กฑ ๋˜๋ฉด, 3๊ฐœ์ค‘ ์ตœ์†Œ ๊ฐ€๊ฒฉ์„ ์ „์ฒด price ์—์„œ ๋นผ๊ธฐ
29+
bags = list()
30+
total = 0
31+
for item in products :
32+
if len(bags) < 3 :
33+
bags.append(item)
34+
total += item
35+
# print(bags)
36+
if len(bags) == 3 :
37+
free = min(bags)
38+
total -= free
39+
bags = []
40+
print(total)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
"""
2+
#15650. N๊ณผM(2)
3+
https://www.acmicpc.net/problem/15650
4+
5+
- ์กฐํ•ฉ : 1~ N ์ค‘ m๊ฐœ๋กœ ๊ตฌ์„ฑ๋œ ์ˆ˜์—ด ์ถœ๋ ฅํ•˜๊ธฐ
6+
- ์‚ฌ์ „์ˆœ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ถœ๋ ฅ
7+
- backtracking
8+
"""
9+
import sys
10+
n , m = map(int, sys.stdin.readline().split())
11+
# 1. ์ˆ˜์—ด ํ›„๋ณด๊ตฐ ๋‚˜์—ดํ•˜๊ธฐ
12+
board = list(range(n+1)) # [1,2,...n]
13+
#2. m ๊ฐœ์˜ ์ˆ˜์—ด ์กฐํ•ฉ ์ถœ๋ ฅํ•˜๊ธฐ
14+
stack = list()
15+
result = list()
16+
def backtracking(start , end ,m) :
17+
if len(stack) == m : # ์žฌ๊ท€ ์ข…๋ฃŒ ์กฐ๊ฑด
18+
print(" ".join(map(str, stack)))
19+
return
20+
21+
for i in range(start, end+1) : # ๋ชจ๋“  ์ž์‹ ๋…ธ๋“œ ๋‚˜์—ด
22+
if i not in stack : # ์„ ํƒ์ง€ ์œ ํšจ ์—ฌ๋ถ€ ํ™•์ธ - ์ค‘๋ณต ํ™•์ธ
23+
stack.append(i) # ์ž์‹ ๋…ธ๋“œ ์ถ”๊ฐ€
24+
backtracking(i+1 , end , m) # ๋ฐฑ ํŠธ๋ž˜ํ‚น
25+
stack.pop() # ๋ถ€๋ชจ ๋…ธ๋“œ๋กœ ํšŒ๊ท€
26+
backtracking(1,n, m)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
"""
2+
๋ฐฑ์ค€ #11053. ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด
3+
https://www.acmicpc.net/problem/11053
4+
5+
# Intutition : DP
6+
7+
๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„์ˆ˜์—ด
8+
=> ๋ถ€๋ถ„์ˆ˜์—ด ๋‚ด ์ตœ๋Œ€๊ฐ’๋ณด๋‹ค ํฌ๋ฉด, ๋ถ€๋ถ„์ˆ˜์—ด์— ์ถ”๊ฐ€ & ๊ธฐ์ค€ ์ตœ๋Œ€ ๊ฐ’ ์—…๋ฐ์ดํŠธ
9+
10+
# set ์€ ์‚ฝ์ž…์‹œ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์Œ(์ˆœ์„œ ์—†๋Š” ์ž๋ฃŒํ˜• , ์ฆ‰ ์ถœ๋ ฅ ๋ฐ ์‚ฝ์ž…์‹œ ๋žœ๋คํ•˜๊ฒŒ ์„ž์ž„)
11+
https://okky.kr/questions/571601
12+
"""
13+
import sys
14+
15+
N = int(sys.stdin.readline())
16+
input_list = list(map(int, sys.stdin.readline().split()))
17+
# dp[i] : 0~ i๋ฒˆ์งธ Subset ์ค‘ ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด ๊ฐฏ์ˆ˜
18+
#
19+
# Subset ์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜ ์ฐพ๊ธฐ(๋น„๊ต๊ตฐ)
20+
# ๋น„๊ต๊ตฐ VS ํ˜„์žฌ๊ฐ’ -> ํฌ๋ฉด dp +1 , ์ž‘์œผ๋ฉด dp
21+
22+
# 0. dp ์ดˆ๊ธฐ๊ฐ’ : Subset ์ด ๊ฐœ์ˆ˜
23+
dp = [ 1 for _ in range(N)]
24+
for i in range(1, N) :
25+
for j in range(i):
26+
if input_list[i] > input_list[j] :
27+
dp[i] = max(dp[i] , dp[j]+1)
28+
29+
30+
31+
print(max(dp))
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
from collections import deque
2+
import sys
3+
"""
4+
1. ์ดˆ๊ธฐํ™”
5+
- R,B ์˜ ์œ„์น˜ ์ขŒํ‘œ
6+
- ๋ฐฉ๋ฌธ ๋“ฑ๋ก
7+
2. queue
8+
3. 4๋ฐฉ์œ„
9+
-> ํŒŒ๋ž€ ๊ตฌ์ˆ  ๊ตฌ๋ฉ -> ์‹คํŒจ
10+
-> ๋นจ๊ฐ„ ๊ตฌ์ˆ  ๊ตฌ๋ฉ -> ์„ฑ๊ณต
11+
-> ๋‘˜์ด ๊ฐ™์€ ์œ„์น˜=>
12+
"""
13+
14+
n, m = map(int, sys.stdin.readline().split())
15+
board = [list(input().rstrip()) for _ in range(n)]
16+
visited = []
17+
18+
# ์šฐ,์ขŒ,ํ•˜,์ƒ
19+
dx = [1 ,-1 , 0 ,0]
20+
dy = [0,0,-1,1]
21+
22+
def get_RB_position(): # Red , Blue
23+
rx ,ry, bx , by = 0 , 0, 0, 0
24+
for i in range(n):
25+
for j in range(m):
26+
if board[i][j] == "R" :
27+
rx , ry = i, j
28+
elif board[i][j] == "B":
29+
bx , by = i , j
30+
31+
return rx ,ry, bx , by
32+
33+
def move(x,y, dx , dy) :
34+
# ๋ฒฝ ๋˜๋Š” ๊ตฌ๋ฉ๊นŒ์ง€ ์ด๋™
35+
# dx ,dy : ๋ฐฉํ–ฅ
36+
shift_cnt = 0
37+
while board[x + dx][y+dy] != "#" and board[x][y] != "O":
38+
x += dx
39+
y+= dy
40+
shift_cnt +=1
41+
42+
return x ,y, shift_cnt
43+
44+
45+
def bfs() :
46+
#1. ์ดˆ๊ธฐํ™”
47+
rx , ry , bx , by = get_RB_position()
48+
queue = deque()
49+
queue.append((rx,ry, bx , by, 1)) # red ์ขŒํ‘œ , blue ์ขŒํ‘œ , ํšŸ์ˆ˜
50+
visited.append((rx,ry , bx,by))
51+
52+
while queue :
53+
rx,ry,bx,by,result= queue.popleft()
54+
# 10ํšŒ ์ดˆ๊ณผํ•ด๋„ ์•ˆ๋‚˜์˜ค๋ฉด -1 ๋ฐ˜ํ™˜
55+
if result > 10 :
56+
57+
break
58+
59+
for i in range(4): #
60+
crx , cry , r_shift = move(rx ,ry , dx[i], dy[i])
61+
cbx , cby , b_shift = move(bx ,by, dx[i], dy[i])
62+
63+
# ๋งŒ์•ฝ ํŒŒ๋ž€๊ณต์ด ๊ตฌ๋ฉ์— ๋“ค์–ด๊ฐ€๋ฉด ์‹คํŒจ
64+
if board[cbx][cby] == "O" :
65+
continue
66+
# ๋งŒ์•ฝ ๋นจ๊ฐ„ ๊ณต์ด ๊ตฌ๋ฉ์— ๋“ค์–ด๊ฐ€๋ฉด ์„ฑ๊ณต
67+
if board[crx][cry] == "O" :
68+
print(result)
69+
return 0
70+
# ๋งŒ์•ฝ ๋‘ ๊ณต์ด ๊ฒน์น˜๋ฉด -> ๋” ๋งŽ์ด ์ด๋™ํ•œ ๊ณต์ด ๋” ์ „์— ์žˆ์Œ
71+
if cbx == crx and cry == cby :
72+
if r_shift > b_shift : # red ๊ฐ€ ๋” ๋ฉ€๋ฆฌ ์žˆ์Œ
73+
crx -=dx[i]
74+
cry -= dy[i]
75+
else :
76+
cbx -=dx[i]
77+
cby -= dy[i]
78+
# ์ฒ˜์Œ ๋„์ฐฉํ•œ ์นธ์ธ ๊ฒฝ์šฐ
79+
if (crx , cry , cbx, cby) not in visited :
80+
visited.append((crx , cry , cbx, cby))
81+
queue.append((crx , cry , cbx, cby , result +1))
82+
print(-1)
83+
84+
bfs()
85+
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
"""
2+
์ฝ˜์„ผํŠธ์— ๋‚จ์€ ๊ธฐ๊ธฐ ์ค‘ ๋‹ด ์ˆœ๋ฒˆ ์—†๊ฑฐ๋‚˜ ๊ฐ€์žฅ ๋‚˜์ค‘์ธ ๊ฒƒ ๋ถ€ํ„ฐ ๊ต์ฒด
3+
DP..?
4+
"""
5+
import sys
6+
N , K = map(int,sys.stdin.readline().split())
7+
#1. ์‚ฌ์šฉ์ˆœ์„œ
8+
use_case = list(map(int,sys.stdin.readline().split()))
9+
timelines =[[] for _ in range(K+1)] # idx : ๊ธฐ๊ธฐ ๋ฒˆํ˜ธ, value : times(์ˆœ๋ฒˆ)
10+
11+
# 2. dp ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ
12+
for name in range(len(use_case)): # 0~k ์ดˆ
13+
for idx in range(1,K+1): # 1~k๋ฒˆํ˜ธ device
14+
if idx == use_case[name]:
15+
timelines[idx].append(name)
16+
17+
# ์‹œ๊ฐ„ ๋ณ„๋กœ plug in ์—…๋ฐ์ดํŠธ
18+
# plug in ํ•œ ๊ธฐ๊ธฐ ์ค‘ ๋‹ค์Œ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋Šฆ๋Š” ๊ธฐ๊ธฐ ๋ถ€ํ„ฐ plut out -> ๊ต์ฒด
19+
20+
cnt = 0
21+
current_plug = []
22+
for time in range(K):
23+
current_device = use_case[time]
24+
#0. current_device๊ฐ€ ํ˜„์žฌ plug์— ๊ทธ๋Œ€๋กœ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ , continue
25+
if current_device in current_plug :
26+
timelines[current_device].pop(0)
27+
continue
28+
29+
#1. plug ๊ฐ€ ๋‚จ์œผ๋ฉด -> ๊ทธ๋ƒฅ ๋„ฃ๊ธฐ
30+
if len(current_plug) < N :
31+
current_plug.append(current_device)
32+
timelines[current_device].pop(0)
33+
34+
#2. plug ๊ณต๊ฐ„ ์—†์œผ๋ฉด -> plug outํ•  ๊ฒƒ ์ฐพ๊ธฐ-> ๊ต์ฒด
35+
else :
36+
changed_device_idx = 0
37+
plug_out_hole = 0
38+
for hole in range(N) :
39+
if len(timelines[current_plug[hole]]) <=0 : # ๋งŒ์•ฝ ๋‹ค์Œ ์ˆœ๋ฒˆ์—์„œ ์‚ฌ์šฉ ์•ˆํ•˜๋Š” ๊ฒฝ์šฐ , ๋ฐ”๋กœ ๊ต์ฒด ์žฅ์น˜๋กœ ์„ ์ •
40+
plug_out_hole = hole
41+
break
42+
if timelines[current_plug[hole]][0] >changed_device_idx:
43+
changed_device_idx = timelines[current_plug[hole]][0] # next time
44+
plug_out_hole = hole
45+
#plug out
46+
cnt += 1
47+
current_plug.pop(plug_out_hole)
48+
# ๊ต์ฒด
49+
current_plug.append(current_device)
50+
timelines[current_device].pop(0)
51+
52+
print(cnt)
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import sys
2+
from collections import deque
3+
# 1. ์ž…๋ ฅ ๊ทธ๋ž˜ํ”„
4+
N , M = map(int,sys.stdin.readline().split())
5+
graph = []
6+
for n in range(N) :
7+
graph.append(list(map(int, input())))
8+
9+
#๋ฐฉ๋ฌธ ์—ฌ๋ถ€ & ์‹œ์ž‘๋…ธ๋“œ๋กœ ๋ถ€ํ„ฐ ์ตœ๋‹จ ๊ฒฝ๋กœ ๊ฑฐ๋ฆฌ ,๋ฒฝ ๋ถ€์ˆœ ํšŸ์ˆ˜(3์ฐจ์›)
10+
visited = [[[0]*2 for _ in range(M)] for k in range(N)]
11+
12+
#์ƒํ•˜์ขŒ์šฐ -> ์ธ์ ‘ ๋…ธ๋“œ
13+
dx = [0,0,1,-1]
14+
dy = [1,-1,0,0]
15+
16+
# 2. bfs ์ตœ๋‹จ ๊ฑฐ๋ฆฌ
17+
def bfs():
18+
#์ดˆ๊ธฐ ๋…ธ๋“œ queue ์— ์ถ”๊ฐ€ , ๋ฐฉ๋ฌธ ๋“ฑ๋ก
19+
dq = deque()
20+
dq.append((0,0,0))
21+
visited[0][0][0] = 1
22+
23+
while dq :
24+
x,y,wall = dq.popleft()
25+
# ๋ชฉ์ ์ง€(N,M) ๋„์ฐฉํ•œ ๊ฒฝ์šฐ,์ด๋™ ํšŸ์ˆ˜ ์ถœ๋ ฅ
26+
if x == N-1 and y == M -1 :
27+
return visited[x][y][wall]
28+
29+
for i in range(4):#์ƒํ•˜์ขŒ์šฐ๋กœ ๋‹ค์Œ ์ด๋™ํ•  ์นธ์˜ ์œ„์น˜
30+
xx = x+ dx[i] ; yy = y+ dy[i]
31+
# (1)๋‹ค์Œ ์ด๋™ํ•  ๊ณณ์ด graph ๋ฐ–์— ์žˆ๋Š” ๊ฒฝ์šฐ
32+
if xx<0 or xx>= N or yy <0 or yy>= M:
33+
continue
34+
# (2) ๋‹ค์Œ ์ด๋™ํ•  ๊ณณ์ด ๋ฒฝ์ด๊ณ , ํ•œ๋ฒˆ๋„ ๋ฒฝ ์•ˆ ๋šค์—ˆ์„๋•Œ
35+
if graph[xx][yy] == 1 and wall == 0 : # and not visited[xx][yy][1]
36+
visited[xx][yy][1] = visited[x][y][0]+1
37+
dq.append((xx,yy,1))
38+
39+
#(3)๋‹ค์Œ ์ด๋™ํ•  ๊ณณ์ด ๋ฒฝ์ด ์•„๋‹ˆ๊ณ ,ํ•œ๋ฒˆ๋„ ๋ฐฉ๋ฌธ ํ•˜์ง€ ์•Š์€ ๊ณณ
40+
elif graph[xx][yy] == 0 and visited[xx][yy][wall] == 0 : # ๊ทธ๋ƒฅ ๊ฐ
41+
visited[xx][yy][wall] = visited[x][y][wall] +1
42+
dq.append((xx,yy,wall))
43+
44+
return -1 #BFS ์ข…๋ฃŒ๋ ๋–„ ๊นŒ์ง€ ๋„์ฐฉ์ ์— ๋„๋‹ฌํ•˜์ง€ ๋ชปํ•˜๋ฉด -1 ์ถœ๋ ฅํ•˜๊ธฐ
45+
46+
print(bfs())
47+
48+
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
"""
2+
# goal:ํšŒ์˜ ์‹œ๊ฐ„์ด ๊ฒน์น˜์ง€ ์•Š๋Š” ํšŒ์˜์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜ -> ์ตœ์ ์˜ ํ•ด
3+
-์กฐ๊ฑด
4+
1. ์ž…๋ ฅ - ๊ฐ ํšŒ์˜ I : (์‹œ์ž‘ ์‹œ๊ฐ„ , ๋๋‚˜๋Š” ์‹œ๊ฐ„)
5+
2 ํšŒ์˜๋Š” ์ค‘๋‹จ ๋  ์ˆ˜ ์—†ใ…‡,ใ…
6+
3. ํšŒ์˜ ์‹œ์ž‘ ์‹œ๊ฐ„ = ๋๋‚˜๋Š” ์‹œ๊ฐ„
7+
4. 0 <= ์‹œ์ž‘์‹œ๊ฐ„, ๋๋‚˜๋Š” ์‹œ๊ฐ„ <= 2^31 -1
8+
9+
# intution : ๊ทธ๋ฆฌ๋””
10+
- prioirt ์ •๋ ฌ
11+
12+
"""
13+
import sys
14+
from collections import deque
15+
# 0. ํšŒ์˜ ๋ฆฌ์ŠคํŠธ ์ž…๋ ฅ ๋ฐ›๊ธฐ [[์‹œ์ž‘ ์‹œ๊ฐ„, ๋๋‚˜๋Š” ์‹œ๊ฐ„]]
16+
N = int(sys.stdin.readline())
17+
cov_list =deque()
18+
19+
for n in range(N) :
20+
start , end = map(int, sys.stdin.readline().split())
21+
cov_list.append((start ,end))
22+
23+
# 2. ํšŒ์˜ prioirty ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ -> prior : (1) end time ์ด ๋น ๋ฅธ ์ˆœ (2) start ๊ฐ€ ๋น ๋ฅธ ์ˆœ ์œผ๋กœ ์ •๋ ฌ
24+
cov_list = deque(sorted(cov_list , key = lambda x : x[0]))
25+
cov_list = deque(sorted(cov_list , key = lambda x : x[1]))
26+
27+
# # conv_lisg : [[1, 4], [3, 5], [0, 6], [5, 7], [3, 8], [5, 9], [6, 10], [8, 11], [8, 12], [2, 13], [12, 14]]
28+
#
29+
# (1) ํšŒ์˜์‹ค ๋ฝ‘๊ธฐ
30+
# 2-1 ํ˜„์žฌ ํšŒ์˜ ์ข…๋ฃŒ ์‹œ๊ฐ„ ๋ณด๋‹ค end ๊ฐ€ ์ž‘์œผ๋ฉด -> ์ œ์™ธ
31+
# 2-2 ๊ฐ™๊ฑฐ๋‚˜ ํฌ๋ฉด -> ํšŒ์˜์‹ค ์—…๋ฐ์ดํŠธ (cnt+1)
32+
cnt = 0
33+
finished_time = 0
34+
for idx in range(N) :
35+
start , end = cov_list[idx]
36+
if finished_time <= start :
37+
38+
finished_time= end
39+
cnt +=1
40+
print(cnt)
41+
42+

โ€Ž_WeeklyChallenges/W04-[BFS]/README.mdโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## ๐Ÿš€ 12์›” 3์ฃผ์ฐจ (12/21) ์Šคํ„ฐ๋”” ๋ฐœ์ œ ์ฃผ์ œ: BFS
1+
## ๐Ÿš€ 12์›” 3์ฃผ์ฐจ (12/16) ์Šคํ„ฐ๋”” ๋ฐœ์ œ ์ฃผ์ œ: BFS
22
> ๋ฐœ์ œ์ž: ๊น€ํ™์ฃผ
33
44
### ๐Ÿ—‚๏ธ ์Šคํ„ฐ๋”” ์ž๋ฃŒ
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
'''
2+
BOJ #1931. ํšŒ์˜์‹ค ๋ฐฐ์ • (๊ณจ๋“œ5)
3+
https://www.acmicpc.net/problem/1931
4+
์œ ํ˜•: Greedy
5+
์ถœ์ฒ˜: https://v3.leedo.me/devs/49
6+
'''
7+
8+
n = int(input())
9+
10+
meetings = []
11+
12+
for _ in range(n):
13+
start, end = map(int, input().split(" "))
14+
meetings.append((start, end))
15+
# ์ข…๋ฃŒ ์‹œ๊ฐ„์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ณ , ์‹œ์ž‘ ์‹œ๊ฐ„์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค
16+
meetings.sort(key=lambda x: (x[1], x[0]))
17+
18+
time = 0
19+
answer = 0
20+
for meeting in meetings:
21+
if time <= meeting[0]:
22+
time = meeting[1]
23+
answer += 1
24+
25+
print(answer)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## ๐Ÿš€ 12์›” 4์ฃผ์ฐจ (12/23) ์Šคํ„ฐ๋”” ๋ฐœ์ œ ์ฃผ์ œ: Greedy Algorithm
2+
> ๋ฐœ์ œ์ž: ์ •์ˆ˜๋ฏธ
3+
4+
### ๐Ÿ—‚๏ธ ์Šคํ„ฐ๋”” ์ž๋ฃŒ
5+
- PDF: [๋ฐ”๋กœ๊ฐ€๊ธฐ](./Study_BOJ_1223.pdf)
6+
![image](https://github.com/user-attachments/assets/eda88039-4fa3-4c7e-8f0e-b610faa8081a)
7+
8+
9+
### ๐Ÿ“– ๋ฌธ์ œ
10+
- [๋ฐฑ์ค€ #1700. ๋ฉ€ํ‹ฐํƒญ ์Šค์ผ€์ค„๋ง](https://www.acmicpc.net/problem/1700): ๊ทธ๋ฆฌ๋”” / ๊ณจ๋“œ1
11+
- ์ •๋‹ต ์ฝ”๋“œ: [Study_BOJ_1700_๋ฉ€ํ‹ฐํƒญ์Šค์ผ€์ค„๋ง.py](./Study_BOJ_1700_๋ฉ€ํ‹ฐํƒญ์Šค์ผ€์ค„๋ง.py)
12+
13+
### ๐Ÿ’ป ๊ณผ์ œ
14+
- [๋ฐฑ์ค€ #1931. ํšŒ์˜์‹ค ๋ฐฐ์ •](https://www.acmicpc.net/problem/1931): ๊ทธ๋ฆฌ๋””, ์ •๋ ฌ / ๊ณจ๋“œ5
15+
- ์ •๋‹ต ์ฝ”๋“œ: [Assignment_BOJ_1931_ํšŒ์˜์‹ค๋ฐฐ์ •.py](./Assignment_BOJ_1931_ํšŒ์˜์‹ค๋ฐฐ์ •.py)

0 commit comments

Comments
ย (0)