Python_알고리즘/Gold IV
-
9252. [Python]LCS 2Python_알고리즘/Gold IV 2024. 6. 20. 16:03
1. 문제 https://www.acmicpc.net/problem/9252 2. 접근 방법 시간 제한: 2초 (Python)메모리 제한: 256MBLCSDP 3. 파이썬 코드 # 재귀 제한 해제import syssys.setrecursionlimit(10000)# 재귀함수를 통해서 문자 찾기def backtracking(start, value): global max_value global ans global word_two # 최대 길이 도달했을때 종료 if value == 0: print(max_value) print(ans[::-1]) exit() # 현재 칸에서 위로 간 값과 왼쪽으로 간 값을 비교해서 작은 값찾는 재귀 ..
-
1253. [Python] 좋다Python_알고리즘/Gold IV 2024. 3. 13. 01:20
1. 문제 https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 256MB 투 포인터 이분탐색 3. 파이썬 코드 N = int(input()) # 이분 탐색 num_list = list(map(int,input().split())) # 정렬 num_list.sort() cnt = 0 for i in range(N): # 시작 start = 0 # 끝 end = N-1 # 이분 탐색 진행 while start < end: # 시작 ..
-
1261. [Python]알고스팟Python_알고리즘/Gold IV 2024. 3. 6. 20:25
1. 문제 https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 다익스트라 우선순위 큐 3. 파이썬 코드 import heapq N,M = map(int,input().split()) matrix = [ list(map(int,input())) for _ in range(M) ] # 방향배열 탐색 direction = [(0,-1), (-1,0), (0,1), (1,0)..
-
1753. [Python]최단경로Python_알고리즘/Gold IV 2024. 3. 3. 23:59
1. 문제 https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 256MB 다익스트라 3. 파이썬 코드 import sys import heapq input = sys.stdin.readline # 시작점을 기준으로 다익스트라 시작 def BFS(init): # queue 리스트 생성 queue = [] # 우선순위 큐 생성 heapq.heappush(queue,(..
-
17425. [Python]약수의 합Python_알고리즘/Gold IV 2023. 10. 9. 18:18
1. 문제 https://www.acmicpc.net/problem/17425 17425번: 약수의 합 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 512MB 에라토스테네스의 체 3. 파이썬 코드 import sys # 약수 구하는 함수 def divisor(): # 약수를 저장할 리스트 num_list = [1] * 1000001 # 정답을 출력할 리스트 ans = [0] * 1000001 # 2부터 1,000,000 까지 반복..
-
9019. [Python]DSLRPython_알고리즘/Gold IV 2023. 10. 8. 01:55
1. 문제 https://www.acmicpc.net/problem/9019 9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 www.acmicpc.net 2. 접근 방법 시간 제한: 6초 메모리 제한: 256MB BFS(너비 우선 탐색) 3. 파이썬 코드 from collections import deque import sys input = sys.stdin.readline # 2배 해주는 함수 def Double(num): return (num * 2) % 10000 # -1 해주는 함수 def Subtrack(num): ..
-
10942. [Python]팰린드롬?Python_알고리즘/Gold IV 2023. 10. 7. 05:09
1. 문제 https://www.acmicpc.net/problem/10942 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net 2. 접근 방법 시간 제한: 0.5초 메모리 제한: 256MB DP(다이나믹 프로그래밍) 3. 파이썬 코드 import sys input = sys.stdin.readline # 숫자의 길이 N = int(input()) # 숫자 리스트 num_list = list(map(int,input().split())) # 반복문 횟수 M = int(input()) # 각 숫자들 인덱스별 팰린드롬 체크 배열 ans_list = [ [..