[백준] 16198번(에너지 모으기)

·2023년 9월 25일

백준 문제풀이

목록 보기
129/159

백준 16198번


최종 제출 코드

n = int(input())
array = list(map(int, input().split()))

total = 0

def dfs(value, lists):

  global total

  total = max(total, value)
  
  for i in range(1, len(lists)-1):
    front = lists[i-1]
    rear = lists[i+1]
    dfs(value + front*rear, lists[:i]+lists[i+1:])

dfs(0, array)
print(total)

◼️ dfs를 사용하여 문제풀이

  • 첫번째 원소와 마지막 원소를 제외한 원소를 돌면서 lists[i-1]*lists[i+1] 값을 value에 더해주고, i번째 원소를 제외한 리스트를 인수로 전달한다.
profile
백엔드 개발자가 되고 싶어요(22.8.15~)

0개의 댓글