
https://www.codetree.ai/missions/2/problems/gold-mining?utm_source=clipboard&utm_medium=text
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai


✅ k 크기만큼의 마름모 모양을 탐색하는 방법 : 기준점으로부터 떨어진 거리의 절대값이 k 보다 작은 구역을 모두 탐색
✅ 예시

# 금 탐색 함수
def find_out_gold(x, y, k):
total_gold = 0
for i in range(n):
for j in range(n):
if abs(x-i) + abs(y-j) <= k: # 기준점으로부터 떨어진 거리의 절대값이 k값보다 작은 좌표 모두 탐색
total_gold += goldMap[i][j]
return total_gold
# 금 채굴 비용 함수
def gold_cost(k):
return k**2 + (k+1)**2
n, m = map(int, input().split())
goldMap = [list(map(int, input().split())) for _ in range(n)]
max_gold = 0 # 이익을 볼 수 있는 최대 금 채굴 개수
for i in range(n):
for j in range(n):
for k in range(n): # 최대로 키울 수 있는 마름모 지름 : n
# 좌표 돌면서 채굴한 금의 가치가 금 채굴 비용보다 크고 이전에 탐색한 좌표보다 많은 금을 탐색한 경우
if (find_out_gold(i, j, k)*m) - gold_cost(k) >= 0 and find_out_gold(i, j, k) > max_gold:
#최대 금 채굴량 갱신
max_gold = find_out_gold(i, j, k)
print(max_gold)| [코드트리/INTERMEDIATE LOW] Simulation 1차원 바람 Python 파이썬 (0) | 2023.08.07 |
|---|---|
| [코드트리/INTERMEDIATE LOW] DP I 사각형 채우기 Python 파이썬 (0) | 2023.08.04 |
| [코드트리/INTERMEDIATE LOW] DP I 계단 오르기 Python (0) | 2023.08.03 |
| [코드트리/INTERMEDIATE LOW] Simulation 양수 직사각형 최대 크기 Python (0) | 2023.08.02 |
| [코드트리/INTERMEDIATE LOW] Backtracking K개 중 하나를 N번 선택하기 Python (0) | 2023.08.01 |