Python_알고리즘/Silver I
-
2529. [Python]부등호Python_알고리즘/Silver I 2025. 2. 6. 05:37
1. 문제 https://www.acmicpc.net/problem/2529 2. 접근 방법 시간 제한: 1초메모리 제한: 256MB백트래킹브루트포스 3. 파이썬 코드 # 백트래킹def backtracking(index, check): # 인덱스가 끝값에 도달할 경우 if index == K + 1: answer.append("".join(map(str, check))) return # 0 ~ 9 까지 값 반복하며 방문헀는지 안했는지 및 부등호에 따른 연산자 처리 for num in range(10): if not visited[num]: if index == 0 or (operator[index - 1] == "" and c..
-
14562. [Python]태권왕Python_알고리즘/Silver I 2025. 1. 2. 18:46
1. 문제 https://www.acmicpc.net/problem/14562 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB그래프 이론너비 우선 탐색 3. 파이썬 코드 import sysfrom collections import deque# BFS 통한 탐색def BFS(start,target): # 초기값으로 시간, 시작점, 목표점 q = deque([(0,start,target)]) while q: time, current, target = q.popleft() # 현재 점수가 목표점수와 같은 경우 if current == target: # 시간 출력 print(time) br..
-
14888. [Python]연산자 끼워넣기Python_알고리즘/Silver I 2024. 7. 31. 19:17
1. 문제 https://www.acmicpc.net/problem/14888 2. 접근 방법 시간 제한: 2초메모리 제한: 512MB브루트 포스백트래킹 3. 파이썬 코드 def backtracking(index): global N global min_value global max_value # 백트래킹 마지막 도달 if index == N-1: # 추가되지 않은 마지막 숫자 추가 ans.append(num_list[index]) # 초기 계산값으로 0번 인덱스 숫자 check = num_list[0] # 현재 리스트 길이 측정 list_length = len(ans) # 총 길이가 숫자 리..
-
20922. [Python]겹치는 건 싫어Python_알고리즘/Silver I 2024. 7. 15. 12:50
1. 문제 https://www.acmicpc.net/problem/20922 2. 접근 방법 시간 제한: 1초메모리 제한: 1024MB투 포인터 3. 파이썬 코드 N, K = map(int, input().split())num_list = list(map(int, input().split()))num_cnt = [0] * 100001# 시작left = 0# 끝right = 0# 최대 길이 체크max_length = 0# N까지 반복문 진행while right K: # max_length 값 갱신 if max_length K: num_cnt[num_list[left]] -= 1 left += 1 right += 1# 맨 마지막 리..
-
2531. [Python]회전 초밥Python_알고리즘/Silver I 2024. 6. 30. 15:26
1. 문제 https://www.acmicpc.net/problem/2531 2. 접근 방법 시간 제한: 1초메모리 제한: 256MB브루트포스슬라이딩 윈도우 3. 파이썬 코드 # 많은 인풋 처리import sysinput = sys.stdin.readlineN, d, k, c = map(int,input().split())# 초밥 저장할 리스트select_list = []for _ in range(N): select_list.append(int(input()))# 리스트를 k 만큼 확장for i in range(k-1): select_list.append(select_list[i])# 최대 길이 측정max_value = 0# N 까지 반복for i in range(N): # set으로 중..
-
1105. [Python]팔Python_알고리즘/Silver I 2024. 6. 20. 17:44
1. 문제 https://www.acmicpc.net/problem/1105 2. 접근 방법 시간 제한: 2초메모리 제한: 512MB수학그리디 알고리즘 3. 파이썬 코드 L, R = map(str,input().split())# 인풋 값의 길이 측정L_length = len(L)R_length = len(R)# 각 인풋에서 들어온 값들에 8 이 있는지 체크하고 없으면 무조건 0 이 나오게 된다.# 또한 각각 길이를 비교하여 두 길이가 다른경우도 무조건 0이 나오게된다.if L.count("8") == 0 or R.count("8") == 0 or L_length != R_length: print(0)# 외의 경우else: # cnt 변수를 선언해주고 cnt = 0 # 길이가 같기 때..
-
11052. [Python]카드 구매하기Python_알고리즘/Silver I 2024. 5. 20. 19:36
1. 문제 https://www.acmicpc.net/problem/11052 2. 접근 방법 시간 제한: 1초메모리 제한: 256MBDP(다이나믹 프로그래밍) 3. 파이썬 코드 # i 장을 구매하기 위한 최대값 계산 방법 접근N = int(input())# 카드 리스트 저장card_list = list(map(int,input().split()))# dp 시작dp = [0] * (N+1)# dp[1] 값 card_list[0] 으로 초기화dp[1] = card_list[0]# N+1 까지 반복문for i in range(2,N+1): # i 값까지 반복문 시행 for j in range(1,i+1): # i 번 dp 에는 i 번째 카드를 구매하기 위해서 최대 값을 갱신해야함 ..
-
1932. [Python]정수 삼각형Python_알고리즘/Silver I 2024. 4. 22. 19:47
1. 문제 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB DP(다이나믹 프로그래밍) 3. 파이썬 코드 import sys # 많은 인풋 처리 input = sys.stdin.readline N = int(input()) # 숫자 저장할 리스트 num_list = [] # 숫자 저장 for _ in range(N): num_list.append(list(map(int,input().split()))) # 1 ~ N 까지 반복 for i in range(1,N..
-
1141. [Python] 접두사Python_알고리즘/Silver I 2024. 4. 9. 21:12
1. 문제 https://www.acmicpc.net/problem/1141 1141번: 접두사 접두사X 집합이란 집합의 어떤 한 단어가, 다른 단어의 접두어가 되지 않는 집합이다. 예를 들어, {hello}, {hello, goodbye, giant, hi}, 비어있는 집합은 모두 접두사X 집합이다. 하지만, {hello, hell}, {giant, www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 정렬 그리디 알고리즘 3. 파이썬 코드 N = int(input()) # 단어 저장 word_list = [] # 단어 길이와 문자로 저장 for _ in range(N): word = input() word_list.append([len(word),word]) # 길이..
-
11279. [Python]최대 힙Python_알고리즘/Silver I 2024. 1. 9. 01:58
1. 문제 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 256MB 우선순위 큐 3. 파이썬 코드 import heapq import sys input = sys.stdin.readline num_list = [] N = int(input()) for _ in range(N): # 인풋 값 체크 input_num = int(input()) # 인풋 값이 0 인 경우 if ..