본문 바로가기

📊 Algorithm111

⚠︎ 백준 - 17103 골드바흐 파티션 약수, 배수와 소수 2단계 끝~# 17103 골드바흐 파티션🥈 Silver2 골드바흐의 추측: 2보다 큰 짝수는 두 소수의 합으로 나타낼 수 있다.골드바흐 파티션 : 짝수 N을 두 소수의 합으로 나타내는 표현 짝수 N이 주어졌을 때, 골드바흐 파티션의 개수구하기 고냥...에라체로 N중에 제일 큰 값까지 소수 구하고하나씩 각 N을 i  2~N/2 돌면서 i랑 N-i 둘 다 소수인지 체크하면 되는 ㅓㄱ 아닌가 예~ 인데백준허브 왜 빨강이지깃허브 토큰 만료돼서 이상하더니..이것도 고장낫나..... 2024. 5. 18.
⚠︎ 백준 - 4134 다음 소수 약수, 배수와 소수 2단계를 끝내자~1문제 남음n보다 크거나 같은 소수 중 가장 작은 소수소수소수ㅇㅔ라체 에라체에라체 소수를 판별하는 과정에서 왜 n의 제곱근만큼만 탐색을 진행해도 되는지!n이 소수인가?n의 약수가 잇다면 a*b, c*d 이런 식으로 약수가 나타나고 여기서 a또는b , c 또는 d  쌍의 하나만 알고 나눠봐도 n이 약수인지 알 수 잇음쌍 중 하난 무조건 n의 제곱근과 같거나 작음내일부터는 일찍잔다... 2024. 5. 16.
⚠︎ 백준 - 2485 가로수 약수, 배수와 소수 2단계를 끝내자~2문제 남음 모든 가로수가 같은 간격이 되도록 새로 심어야 하는 가로수의 최소수 구하기~ 보니까 첫 번째 가로수와 시작점의 길이는 상관 없으므로첫번째나무-마지막 나무 사이의 거리가 찐임 그 사이에 드문드문 나무로 간격이 나눠져 잇으니간이 간격들의 최대공약수 구하면 그게 최종 간격~!~!~ 근데 그럼 간격 2,3같이 서로소는 양의 정수로 나타낼 수 없는 게 아닌가가 아니고~ 1로 되고~멍청~ 은 와~!~!~!~! 시간초과를 냈다!!!이건 말도안되는처사다 으으ㅇㅡ생각해보니 이걸result = 0treeHere = trees[0]while True : if treeHere not in trees : result += 1 treeHere += gap .. 2024. 5. 14.
⚠︎ 백준 - 2110 공유기 설치 이분탐색 단계를 끝내자~ 이분 탐색 단계 흔히 parametric search라고도 부르는, 이분 탐색을 응용하여 최솟값이나 최댓값을 찾는 테크닉을 배우는 문제 www.acmicpc.net 2110 ⚠︎ 공유기 설치 티어 : 🥇4 분류 : 이분탐색 에..오 라우터 사이사이가 길게 말이지 으음 맨 양끝에 놓고 일단 반반 잘라가면서 반에 제일 가까운 집에다가 하나씩 놓으면? 근데그럼 홀짝일 때 잘라야 하는 게 다른데 그럼 홀수 개 남앗으면 하나 남은 거리 가운데에다 놓고 짝수 개 남앗으면 두개 띵띵 ?아닌데 공유기를 중심으로 생각하지 말고 거리를 이분탐색하면서 답을 구한다고 하면~ 오토마타공부하고다시생각해봄 졸리다 거리 크게 하고 하나씩 보면서 기준거리 넘는 애들 하나하나 세면서 라우터 개수가 C보다 크거나.. 2024. 4. 15.
⚠︎ 백준 - 9251 LCS 다이나믹프로그래밍 단계를 끝내자~ 동적 계획법 1 단계 i번째 집을 각각의 색으로 칠할 때, 1~i번째 집을 모두 칠하는 최소 비용으로 부분문제를 정의해봅시다. www.acmicpc.net 9251 ⚠︎ LCS 티어 : 🥇5 분류 : DP 부분 문자열이기 때문에 떨어져 잇어도 상관 없음 음,,,아닛 DP 모르겟는데 lcs어케풀지 LIS는 아는데 용어가다비슷해 영어도별다줄하네 졸린시험기간이므로가오떨어지는구글링하기 멍청이인가? a문자열 길이 b 문자열길이 변수 리스트 초기화할 때 바꿔 썼다 테스트 하는 예제가 하필 길이가 같아서... ㄴ난 내 능지가 부족하여 로직을 보고도 못 맞춘 줄 알았다. ㅠ..지원언니랑 맛잇는저녁이나먹어야겟다... 2024. 4. 12.
⚠︎ 백준 - 24060 알고리즘 수업 - 병합 정렬 1 👩🏻‍🏫 재귀 단계를 진짜 끝내자~ 재귀 단계 피보나치 수 역시 단순 for문으로도 구할 수 있지만, 학습을 위해 재귀를 써 봅시다. www.acmicpc.net 24060 ⚠︎ 알고리즘 수업 - 병합 정렬 1 티어 : 🥈3 분류 : 재귀, 머지 소트 머지소트도 시험범위인데~잘댓다 import sys # 머지 소트 def merge_sort(A,p,r): # 배열, 시작, 끝 if (p < r): q = (p+r) // 2 # 반갈 merge_sort(A,p,q) merge_sort(A,q+1,r) merge(A,p,q,r) def merge(A,p,q,r): global result global k_num i = p j = q + 1 tmp = [] while (i 2024. 4. 11.
⚠︎ 백준 - 4779 칸토어 집합🏠 재귀 단계를 끝내자~2 재귀 단계 피보나치 수 역시 단순 for문으로도 구할 수 있지만, 학습을 위해 재귀를 써 봅시다. www.acmicpc.net 4779 ⚠︎ 칸토어 집합 티어 : 🥈3 분류 : 재귀 으 이런.. print(*배열명) 하면.. 요소 사이에 공백이 들어간다... 또 생각 없이 씀.. "".join("배열명") 고.. import sys def Cantor(start,n): for i in range(start+3**(n-1),start+3**(n-1)*2): Cantor_list[i] = ' ' if n != 1: Cantor(start,n-1) Cantor(start+3**(n-1)*2,n-1) while True: try: N = int(sys.stdin.readline()) if.. 2024. 4. 10.
⚠︎ 백준 - 9372 상근이의 여행 ✈️ 최소 신장 트리 단계를 진짜 끝내자~3 최소 신장 트리 단계 신장 트리가 중요한 이유는, 가장 적은 개수의 간선으로 모든 정점을 연결할 수 있기 때문입니다. 이 문제를 통해 확인해 봅시다. www.acmicpc.net 9372 ⚠︎ 상근이의 여행 티어 : 🥈4 분류 : 최소 신장 트리 음? 잘못 읽은 줄 알고 3번 읽었다. 비행기 종류라길래 무슨 항공사별로 구분한다는 건가 했는데.. 모든 노드를 방문해야 하는데 가장 간선이 적으려면 - 그리고 무조건 연결 그래프로 주어진다고 하면 간선 개수는 n-1면 된다네 import sys T = int(sys.stdin.readline()) for _ in range(T): N, M = map(int,sys.stdin.readline().split()) for _ .. 2024. 4. 10.
⚠︎ 백준 - 6469 전력난⚡️ 최소 신장 트리 단계를 끝내자~2 최소 신장 트리 단계 신장 트리가 중요한 이유는, 가장 적은 개수의 간선으로 모든 정점을 연결할 수 있기 때문입니다. 이 문제를 통해 확인해 봅시다. www.acmicpc.net 6469 ⚠︎ 전력난 티어 : 🥇4 분류 : 최소 신장 트리 os 업데이트하니까 이모티콘 추천도 해주네 ⚡️⚡️⚡️⚡️⚡️⚡️⚡️ 엇 문제에 성진이가 나온다. 훈련소에서 잘 살기를... import sys #유파 def find(v): if parents[v] != v: parents[v] = find(parents[v]) return parents[v] def union(a,b): a = find(a) b = find(b) parents[a] = b # 집 / 길 M, N = map(int,s.. 2024. 4. 9.
⚠︎ 백준 - 1774 우주신👽과의 교감 "최소신장트리" 단계를 끝내자 최소 신장 트리 단계 신장 트리가 중요한 이유는, 가장 적은 개수의 간선으로 모든 정점을 연결할 수 있기 때문입니다. 이 문제를 통해 확인해 봅시다. www.acmicpc.net 1774 ⚠︎ 우주신과의 교감 티어 : 🥇3 분류 : 최소 신장 트리 제목이..마음에든다 나도우주신이랑교감하고싶따 아 이상하게나온다햇더니 (식) ** 1/2 했는데 (식) ** (1/2) .... import sys #유파 def find(v): if space_god_parents[v] != v: space_god_parents[v] = find(space_god_parents[v]) return space_god_parents[v] def union(a,b): a = find(a) b = fin.. 2024. 4. 8.