Python12 [python] [백준] 4485 녹색 옷 입은 애가 젤다지? - 2가지 풀이 문제 https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 1. BFS from collections import deque def bfs(): q = deque() q.append((0, 0)) while q: x, y = q.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if nx = n or ny = n: continue # vi.. 2023. 2. 9. [python] [백준] 1260 DFS와 BFS - 2가지 풀이 문제 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 코드1 (인접 리스트) from collections import deque def dfs(v): # 방문 처리 visited[v] = True print(v, end=" ") # 방문한 노드의 인접 노드 탐색 for i in graph[v]: # 인접한 노드 중 아직 방문하지 않은 노드 DFS if not visited[i]: dfs(i) def bfs.. 2023. 2. 3. [python] [프로그래머스] 이모티콘 할인행사 문제 https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. 각 이모티콘 별로 모든 할인율 조합 -> candidates = list(itertools.product()) 2. 각 조합을 탐색 -> (for candi in candidates) 3. 각 유저 탐색 -> (for user in users) 4. 하나의 유저마다, 하나의 조합 탐색 -> (for i in range(len(candi))) 5. 구매 금액 계산 -> if 문으로.. 2023. 2. 3. [python] [백준] 1068 트리 문제 https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 풀이 1. 트리 문제 -> DFS...? 2. DFS 함수 내에서 입력받은 erase 노드 제거(방문) 처리 -> tree 탐색하며 제거할 노드 찾기 -> 재귀적으로 제거 3. DFS 종료 되면 -> tree 탐색하며 -> 현재 노드의 부모 노드가 제거되지 않았고 and 현재 노드가 부모 노드가 아닌 것 cnt 4. cnt 출력 코드 def dfs(v): tree[v] = -2 # 제거.. 2023. 2. 3. 이전 1 2 3 다음