코테문제풀이
-
문제 보기 : 9020번: 골드바흐의 추측 문제정답률 : 39% 작성 코드T = int(input())# 에라토스테네스의 체를 사용해 소수 판별 리스트 생성max_m = 10000 # 소수 계산의 최대값ari_map = [False,False]+[True]*(max_m-1)for i in range(2,max_m+1): if ari_map[i]: for j in range(2*i,max_m+1,i): ari_map[j]=Falsefor _ in range(T): n = int(input()) # n을 두 소수의 합으로 표현하기 위한 초기 값 설정 left = n//2 # 중간값부터 시작 (작은 소수) right = n//2 # 중간값부터 시작 ..
S2 9020. 골드바흐의 추측문제 보기 : 9020번: 골드바흐의 추측 문제정답률 : 39% 작성 코드T = int(input())# 에라토스테네스의 체를 사용해 소수 판별 리스트 생성max_m = 10000 # 소수 계산의 최대값ari_map = [False,False]+[True]*(max_m-1)for i in range(2,max_m+1): if ari_map[i]: for j in range(2*i,max_m+1,i): ari_map[j]=Falsefor _ in range(T): n = int(input()) # n을 두 소수의 합으로 표현하기 위한 초기 값 설정 left = n//2 # 중간값부터 시작 (작은 소수) right = n//2 # 중간값부터 시작 ..
2024.12.27 -
문제 보기 : 5430번: AC 문제정답률 : 20%작성 코드T = int(input())import sysimport refrom collections import dequeinput = sys.stdin.readlinefor _ in range(T): p = deque(input().rstrip()) # 함수 연산 문자열 n = int(input().strip()) # 배열의 크기 ls = deque(map(int,filter(None,re.split('[\[\],]',input().rstrip())))) reverse_flag = False # 뒤집기 상태를 관리 error_flag = False # 에러 여부를 관리 for function in p: ..
G5 5430. AC문제 보기 : 5430번: AC 문제정답률 : 20%작성 코드T = int(input())import sysimport refrom collections import dequeinput = sys.stdin.readlinefor _ in range(T): p = deque(input().rstrip()) # 함수 연산 문자열 n = int(input().strip()) # 배열의 크기 ls = deque(map(int,filter(None,re.split('[\[\],]',input().rstrip())))) reverse_flag = False # 뒤집기 상태를 관리 error_flag = False # 에러 여부를 관리 for function in p: ..
2024.12.27 -
문제 보기 : 1759번: 암호 만들기 문제정답률 : 44%작성 코드# 입력받기a, b = map(int, input().split()) # a: 만들 암호 길이, b: 알파벳 개수ls = list(input().split()) # 사용할 알파벳 리스트ls.sort() # 알파벳 정렬 (사전순 출력을 위해)# 모음과 자음을 구분left = [i for i in ls if i in ['a', 'e', 'i', 'o', 'u']] # 모음right = [i for i in ls if i not in ['a', 'e', 'i', 'o', 'u']] # 자음# 조합 생성 함수def combinations(arr, n, new, c): answer = [] # 원하는 길이(n)만큼 조합이 완..
G5 1759. 암호 만들기문제 보기 : 1759번: 암호 만들기 문제정답률 : 44%작성 코드# 입력받기a, b = map(int, input().split()) # a: 만들 암호 길이, b: 알파벳 개수ls = list(input().split()) # 사용할 알파벳 리스트ls.sort() # 알파벳 정렬 (사전순 출력을 위해)# 모음과 자음을 구분left = [i for i in ls if i in ['a', 'e', 'i', 'o', 'u']] # 모음right = [i for i in ls if i not in ['a', 'e', 'i', 'o', 'u']] # 자음# 조합 생성 함수def combinations(arr, n, new, c): answer = [] # 원하는 길이(n)만큼 조합이 완..
2024.12.23 -
문제 보기 : 1904번: 01타일 문제정답률 : 31%작성 코드 & 풀이 해설from itertools import permutations, combinations_with_replacement# 가능한 타일 조합 (00, 1)arr = ['00', '1']# 입력: 문자열의 길이str_length = int(input())# 가능한 결과를 저장할 집합 (중복 제거를 위해 set 사용)answer = set()# 1부터 str_length까지 조합의 길이를 증가시켜가며 처리for n in range(1, str_length + 1): # arr에서 중복 조합 생성 (길이가 n인 조합) for ls in combinations_with_replacement(arr, n): # 생..
S3 1904. 01타일문제 보기 : 1904번: 01타일 문제정답률 : 31%작성 코드 & 풀이 해설from itertools import permutations, combinations_with_replacement# 가능한 타일 조합 (00, 1)arr = ['00', '1']# 입력: 문자열의 길이str_length = int(input())# 가능한 결과를 저장할 집합 (중복 제거를 위해 set 사용)answer = set()# 1부터 str_length까지 조합의 길이를 증가시켜가며 처리for n in range(1, str_length + 1): # arr에서 중복 조합 생성 (길이가 n인 조합) for ls in combinations_with_replacement(arr, n): # 생..
2024.12.21 -
문제 보기 : 14425번: 문자열 집합 문제정답률 : 53%작성 코드import sysinput = sys.stdin.readline# n: 집합 S에 포함된 문자열의 개수, m: 검사할 문자열의 개수n, m = map(int, input().rstrip().split())# S 집합에 문자열 저장 (중복 방지를 위해 set 사용)s = set([input().rstrip() for _ in range(n)])# 검사할 문자열이 S에 포함된 횟수를 계산할 변수 초기화answer = 0# 검사할 문자열 m개 입력받아 S에 포함되어 있는지 확인for _ in range(m): c = input().rstrip() # 검사할 문자열 입력 if c in s: # S에 포함되어 있으면 카운트 증..
S4 14425. 문자열 집합문제 보기 : 14425번: 문자열 집합 문제정답률 : 53%작성 코드import sysinput = sys.stdin.readline# n: 집합 S에 포함된 문자열의 개수, m: 검사할 문자열의 개수n, m = map(int, input().rstrip().split())# S 집합에 문자열 저장 (중복 방지를 위해 set 사용)s = set([input().rstrip() for _ in range(n)])# 검사할 문자열이 S에 포함된 횟수를 계산할 변수 초기화answer = 0# 검사할 문자열 m개 입력받아 S에 포함되어 있는지 확인for _ in range(m): c = input().rstrip() # 검사할 문자열 입력 if c in s: # S에 포함되어 있으면 카운트 증..
2024.12.17 -
문제 보기 : 1753번: 최단경로 문제정답률 : 26%작성 코드import sysinput = sys.stdin.readlinev,e = map(int,input().rstrip().split())m = int(input().strip()) # 시작 노드# 그래프 초기화graph = {i+1:[] for i in range(v)}for _ in range(e): uu,vv,ee = map(int,input().rstrip().split()) graph[uu].append((vv,ee))# 최단 거리 테이블 초기화gg = [float('inf')]*(v+1)gg[m]=0import heapq# 다익스트라 알고리즘def dijkstra(): dd = [(0,m)] # (거리, 노드 번호)..
G4 1753. 최단경로문제 보기 : 1753번: 최단경로 문제정답률 : 26%작성 코드import sysinput = sys.stdin.readlinev,e = map(int,input().rstrip().split())m = int(input().strip()) # 시작 노드# 그래프 초기화graph = {i+1:[] for i in range(v)}for _ in range(e): uu,vv,ee = map(int,input().rstrip().split()) graph[uu].append((vv,ee))# 최단 거리 테이블 초기화gg = [float('inf')]*(v+1)gg[m]=0import heapq# 다익스트라 알고리즘def dijkstra(): dd = [(0,m)] # (거리, 노드 번호)..
2024.12.17 -
문제 보기 : 1158번: 요세푸스 문제 문제정답률 : 49%작성 코드# 입력: 총 인원 수와 제거 주기a, b = map(int, input().split())from collections import deque# 1부터 a까지의 번호를 deque에 저장lst = deque(range(1, a + 1))answer = [] # 제거된 순서를 저장할 리스트# 순차적으로 사람을 제거for i in range(1, 5000 * 5000): # 충분히 큰 반복 횟수 설정 if len(answer) == a: # 모든 사람이 제거되면 종료 break if i % b == 0: # 제거 주기에 도달한 경우 answer.append(str(lst.popleft())) ..
S4 1158. 요세푸스 문제문제 보기 : 1158번: 요세푸스 문제 문제정답률 : 49%작성 코드# 입력: 총 인원 수와 제거 주기a, b = map(int, input().split())from collections import deque# 1부터 a까지의 번호를 deque에 저장lst = deque(range(1, a + 1))answer = [] # 제거된 순서를 저장할 리스트# 순차적으로 사람을 제거for i in range(1, 5000 * 5000): # 충분히 큰 반복 횟수 설정 if len(answer) == a: # 모든 사람이 제거되면 종료 break if i % b == 0: # 제거 주기에 도달한 경우 answer.append(str(lst.popleft())) ..
2024.12.16 -
문제 보기 : 2468번: 안전 영역 문제정답률 : 34%작성 코드from collections import dequen = int(input())area = [list(map(int,input().split())) for _ in range(n)]area_max = max([max(l) for l in area]) # 지형의 최대 높이 계산# 특정 높이 이하의 영역을 방문 처리하는 함수def change(graph,num): visited = [[False]*n for _ in range(n)] # 방문 여부를 저장할 2D 리스트 for i in range(n): for j in range(n): if graph[i][j]풀이이 문제는 주어진 지역의 높이에..
S1 2468. 안전 영역문제 보기 : 2468번: 안전 영역 문제정답률 : 34%작성 코드from collections import dequen = int(input())area = [list(map(int,input().split())) for _ in range(n)]area_max = max([max(l) for l in area]) # 지형의 최대 높이 계산# 특정 높이 이하의 영역을 방문 처리하는 함수def change(graph,num): visited = [[False]*n for _ in range(n)] # 방문 여부를 저장할 2D 리스트 for i in range(n): for j in range(n): if graph[i][j]풀이이 문제는 주어진 지역의 높이에..
2024.12.16