관리 메뉴

진취적 삶

[코드 트리] 원모양으로 되어있는 방 / 완전 탐색 본문

알고리즘

[코드 트리] 원모양으로 되어있는 방 / 완전 탐색

hp0724 2024. 8. 20. 00:14

 문제링크 :  https://www.codetree.ai/missions/5/problems/a-room-in-a-circle?&utm_source=clipboard&utm_medium=text

 

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

코드 

# N개의 방 시계 반대 방향으로 번호가 새겨져 있음
# 각 방에는 이웃한 두개의 방으로 통하는 문 
# 이중 for 문인데 한칸씩 이동하면 
n = int(input())
arr = []
result = 1e9 
for _ in range(n):
    arr.append(int(input()))

# i 에서 j로 이동하는것이기 때문에 
# n 도 더해주면서 % 계산 

for i in range(n): 
    temp_result = 0
    for j in range(n):
        diff = (j-i+n) % n 
        temp_result += diff * arr[j]
    result = min(result,temp_result)

print(result)

 

코드 설명

원 형태에서 거리를 구해야하니깐 나머지 연산을 활용하자