dfs 3

[백준 / 파이썬] 9663번: N-Queen

9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 정답 코드 import sys input = sys.stdin.readline def dfs(row, post): global answer # 종료 조건 if row == n: answer += 1 return # 열 탐색 for col in range(n): # 행, 열 확인 if not d1[row + col] and not d2[row + n - 1 - col] and not visited[col]: visited[col] = True d1[row + col] = True..

Algorithm 2023.07.31

[프로그래머스 / 파이썬] 이모티콘 할인행사

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 data = [10, 20, 30, 40] discount = [] def dfs(temp, depth): if depth == len(temp): discount.append(temp) return for d in data: temp[depth] += d dfs(temp, depth + 1) temp[depth] -= d def solution(users, emoticons): max_users = 0 max_price = 0 dfs([0] * len(emoticons), 0) for d in r..

Algorithm 2023.07.28

[프로그래머스 / 파이썬] 양과 늑대

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 def solution(info, edges): def dfs(sheep, wolf): if sheep > wolf: global answer answer = max(answer, sheep) else: return for parent, child in edges: if visited[parent] and not visited[child]: visited[child] = True if info[child] == 0: dfs(sheep+1, wolf) else: dfs(sheep, wolf+1) vi..

Algorithm 2023.07.14