Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions live9/test92/문제1/백유진.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import heapq

def solution(scoville, K):
answer = 0
heapq.heapify(scoville)

while scoville[0] < K:
if len(scoville) <= 1:
return -1
first = heapq.heappop(scoville)
second = heapq.heappop(scoville)

result = first + second*2

heapq.heappush(scoville, result)
answer += 1

return answer
32 changes: 32 additions & 0 deletions live9/test92/문제2/백유진.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
def solution(board, skill):
n = len(board)
m = len(board[0])

acc = [[0] * (m + 1) for _ in range(n + 1)]

# skill 명령 누적합 배열에 기록
for t, r1, c1, r2, c2, degree in skill:
diff = degree if t == 2 else -degree
acc[r1][c1] += diff
acc[r1][c2 + 1] -= diff
acc[r2 + 1][c1] -= diff
acc[r2 + 1][c2 + 1] += diff

# 가로 누적합
for i in range(n):
for j in range(1, m):
acc[i][j] += acc[i][j - 1]

# 세로 누적합
for j in range(m):
for i in range(1, n):
acc[i][j] += acc[i - 1][j]

answer = 0
for i in range(n):
for j in range(m):
board[i][j] += acc[i][j]
if board[i][j] > 0:
answer += 1

return answer
22 changes: 22 additions & 0 deletions live9/test92/문제3/백유진.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import heapq

def solution(book_time):
reservations = []
for start, end in book_time:
h, m = map(int, start.split(":"))
start_min = h * 60 + m
h, m = map(int, end.split(":"))
end_min = h * 60 + m + 10 # 청소 시간 포함
reservations.append((start_min, end_min))
reservations.sort()

rooms = []

for start, end in reservations:
if rooms and rooms[0] <= start:
# 기존 방 사용 가능
heapq.heappop(rooms)
# 새 방 배정 (또는 기존 방 갱신)
heapq.heappush(rooms, end)

return len(rooms)