Python_알고리즘/Gold III
-
2533. [Python]사회망 서비스Python_알고리즘/Gold III 2024. 10. 3. 21:40
1. 문제 2. 접근 방법 시간 제한: 3초메모리 제한: 256MB트 3. 파이썬 코드 import sys# 많은 인풋 처리input = sys.stdin.readlineN = int(input())# 그래프 연결graph = [ [] for _ in range(N+1)]# 방문 처리visited = [ 0 for _ in range(N+1) ]# 양방향 그래프for _ in range(N-1): S,E = map(int,input().split()) graph[S].append(E) graph[E].append(S)# 리프 노드 저장leaf_node = []# 리프 노드에 값 저장for i in range(1,N+1): if len(graph[i]) == 1: lea..
-
16235. [Python]나무 재테크Python_알고리즘/Gold III 2024. 9. 27. 17:51
1. 문제 https://www.acmicpc.net/problem/16235 2. 접근 방법 시간 제한: 1.3초메모리 제한: 512MB구현시뮬레이션 3. 파이썬 코드 import sysfrom collections import dequeinput = sys.stdin.readlineN, M, K = map(int,input().split())# 방향배열direction = [(-1,-1),(-1,0),(-1,1),(0,-1),(0,1),(1,-1),(1,0),(1,1)]# 양분 초기값matrix = [[5] * N for _ in range(N)]# 겨울 양분 값winter = []# 양분 추가for _ in range(N): winter.append(list(map(int,input().sp..
-
1520. [Python]내리막길Python_알고리즘/Gold III 2024. 9. 24. 16:03
1. 문제 2. 접근 방법 시간 제한: 1초메모리 제한: 128MB재귀DP그래프 탐색 3. 파이썬 코드 import sys# 재귀 제한 해제sys.setrecursionlimit(100000)input = sys.stdin.readlineN, M = map(int,input().split())matrix = []# 방문 체크visited = [[-1] * M for _ in range(N)]for _ in range(N): matrix.append(list(map(int,input().split())))direction = [(0,-1),(-1,0),(0,1),(1,0)]# 백트래킹def backtracking(start): global cnt # 끝에 도달하면 1 리턴 if st..
-
1937. [Python]욕심쟁이 판다Python_알고리즘/Gold III 2024. 9. 20. 18:36
1. 문제 2. 접근 방법 시간 제한: 2초메모리 제한: 256MB재귀깊이우선 탐색DP 3. 파이썬 코드 import sys# 재귀 제한sys.setrecursionlimit(10000)# DFS 실행def DFS(start): global max_value global N # 온 경로가 방문한 곳일 경우 if visited[start[0]][start[1]] != 0: # 현재 돌아온 경로를 리턴 return visited[start[0]][start[1]] # 시작 값 1로 초기화 visited[start[0]][start[1]] = 1 for k in range(4): ny = direction[k][0] + start[0..
-
16724. [Python]피리 부는 사나이Python_알고리즘/Gold III 2024. 7. 9. 05:15
1. 문제 https://www.acmicpc.net/problem/16724 2. 접근 방법 시간 제한: 1초메모리 제한: 256MBDFS(깊이 우선 탐색)스택 3. 파이썬 코드 import sysinput = sys.stdin.readline# 방향 배열 탐색def DFS(index): # 몇번째 DFS진행인지 체크 global safe_cnt stack = [index] while stack: check = stack.pop() # 다음 위치를 dictionary를 통해서 받아옴 next = direction[matrix[check[0]][check[1]]] # 다음 위치 갱신 ny = next[0] + check..
-
1695. [Python]팰린드롬 만들기Python_알고리즘/Gold III 2024. 7. 4. 12:55
1. 문제 https://www.acmicpc.net/problem/1695 2. 접근 방법 시간 제한: 2초메모리 제한: 128MBDP(다이나믹 프로그래밍) 3. 파이썬 코드 N = int(input())# 숫자 리스트 저장num_list = list(map(int,input().split()))# 리스트 역순으로 저장reversed = num_list[::-1]# LCS 적용 리스트matrix = [[0] * (N+1) for _ in range(N+1)]# 기존리스트와 역순 리스트 값을 비교해가며 같은 값의 경우 i-1, j-1 값을 +1 해줌 외의 경우 max 해서 위의 값과 왼쪽 값을 비교for i in range(1,N+1): for j in range(1,N+1): if ..
-
17299. [Python] 오등큰수Python_알고리즘/Gold III 2023. 9. 1. 15:52
1. 문제 https://www.acmicpc.net/problem/17299 17299번: 오등큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 512MB 스택 3. 파이썬 코드 N = int(input()) num_list = list(map(int,input().split())) stack = [0]*N ans = [0]*N # 각 숫자가 몇개 나왔는지 체크해줄 딕셔너리 num_dict = {} for i in num_list: if i in num_dict: num_dict[i] += 1..