*문제 출처는 프로그래머스에 있습니다.
문제 제목: 체육대회
문제 사이트: https://school.programmers.co.kr/learn/courses/15008/lessons/121684
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명

나의 풀이
answer = 0
def dfs(count, value, ability, visited):
global answer # 정답
student = len(ability) # 학생
ex = len(ability[0]) # 종목
if count == ex: # 다 선택하면 비교
answer = max(answer, value)
return
for i in range(student): # 학생 수
if not visited[i]:
visited[i] = True # 현재 학생은 선택
dfs(count + 1, value + ability[i][count], ability, visited) # 다른 학생 선택
visited[i] = False # 선택했던 학생 풀기
def solution(ability):
global answer
answer = 0
visited = [False] * len(ability) # 방문
dfs(0, 0, ability, visited)
return answer

※ 알아야 할 것
https://www.acmicpc.net/problem/15649
백준의 위 문제랑 비슷하다 백트래킹을 사용해야한다.
'Coding Test > 프로그래머스-Python' 카테고리의 다른 글
| Programmers / 스티커 모으기(2) / Python (1) | 2025.03.13 |
|---|---|
| Programmers / 시소 짝꿍 / Python (2) | 2025.03.12 |
| Programmers/ [PCCP 모의고사 #1] 1번 - 외톨이 알파벳 / Python (0) | 2025.02.28 |
| Programmers / 마법의 엘리베이터 / Python (2) | 2024.09.12 |
| Programmers / 두 큐 합 같게 만들기 / Python (0) | 2024.07.09 |