Skip to content
Open
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
20 changes: 20 additions & 0 deletions 7주차/JSB/[W7]_9935.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# W7: 9935 문자열 폭발

content = input()
bomb = input()

stack = []

for char in content:
stack.append(char)

if stack[-len(bomb):] == list(bomb):
for _ in range(len(bomb)): # 폭발 문자열이 있으면 해당 부분 제거
stack.pop()

# 결과 출력
result = ''.join(stack)
if result:
print(result)
else:
print('FRULA')
27 changes: 27 additions & 0 deletions 7주차/[W7]_15686.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# W7: 15686 치킨 배달

from itertools import combinations

N, M = map(int, input().split())
city = [list(map(int, input().split())) for _ in range(N)]
result = 999999
house = [] # 집의 좌표
chicken = [] # 치킨집의 좌표

for i in range(N):
for j in range(N):
if city[i][j] == 1:
house.append([i, j])
elif city[i][j] == 2:
chicken.append([i, j])

for chi in combinations(chicken, M): # M개의 치킨집 선택
temp = 0 # 도시의 치킨 거리
for h in house:
chi_len = 999 # 각 집마다 치킨 거리
for j in range(M):
chi_len = min(chi_len, abs(h[0] - chi[j][0]) + abs(h[1] - chi[j][1]))
temp += chi_len
result = min(result, temp)

print(result)