[수학] 소수 구하기
·
Computer Science/Algorithms
소수 판별 알고리즘 1. 1과 자기 자신을 제외한 나머지 수 중에서 약수가 있는 -> 시간 복잡도 O(n) 1을 제외한 2부터 n-1까지 탐색하면서 i로 나누어 떨어지는 수가 있는지 확인 static boolean isPrime(int N) { if (N < 2) return false; for (int i=2; i 시간 복잡도 : O(루트 n) 만약 N이 12라 할때, 12의 제곱근은 약 3.46이다. 12의 약수는 1, 2, 3, 4, 6, 12 이다. 여기서 1과 12를 제외했을 때 이는 2 * 6, 3 * 4, 4 * 3, 6 * 2의 결과이다. 따라서 N의 제곱근까지 나누어 떨어지는지 여부를 조사하면 더 빠르게 소수판별을 할 수 있다. static boolean prime(int n) { if(..
[수학] - 최소공배수, 최대공약수 구하기
·
Computer Science/Algorithms
최소 공배수 import java.util.*; public class Main { private static int gcd(int a, int b) { if (a == 0) return b; return gcd(b%a, a); } private static void lcm(int a, int b) { System.out.println(a / b); } public static void main(String[] args) { // 여기에 코드를 작성해주세요. Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); lcm(n*m, gcd(n,m)); } } 최대 공약수 import java.util.*; public ..
[트리] 트리의 리프노드 개수 구하기
·
Computer Science/Algorithms
https://www.acmicpc.net/problem/1068 1068번: 트리첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다www.acmicpc.net import syssi = lambda : sys.stdin.readline().rstrip()l = lambda : list(map(int, si().split()))def dfs(root) : # x의 subtree에 대해 leaf[x]를 계산해주는 함수 if not child[root] : # 아무것도 없다면 리프노드 leaf[root] = 1 for node in ..
[트리] 트리의 지름 구하기
·
Computer Science/Algorithms
https://www.acmicpc.net/problem/1967 1967번: 트리의 지름파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연www.acmicpc.net 트리의 지름은 DFS 두 번으로 O(N)의 시간 복잡도로 구현이 가능하다.트리에서 아무 노드나 잡고 그 노드에 대한 먼 노드를 구하고 이 노드를 n1이라고 하자.n1에 대한 가장 먼 노드를 한번 더 구한다. 이 노드를 n2라고 하자.이제 n1과 n2의 거리가 트리의 지름이 된다.import sys, heapqfrom collections import dequesi = sys.std..
[링크드 리스트] 링크드 리스트 뒤집기
·
Computer Science/Algorithms
https://leetcode.com/problems/reverse-linked-list-ii/description/ LeetCode - The World's Leading Online Programming Learning PlatformLevel up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.leetcode.com /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * Li..
[MST] BOJ 1197번: 최소 스패닝 트리
·
Computer Science/Algorithms
https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net package Data_Structure.union_find; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; class Edge implements Comparable { int v1; int v2; int ..
HTTP 메서드 활용
·
Computer Science/Network
[클라이언트에서 서버로 데이터 전송] 1. 쿼리 파라미터를 통한 데이터 - GET - 주로 정렬 필터(검색어) 2. 메시지 바디를 통한 데이터 전송 - POST, PUT, PATCH - 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 4가지 상황 1.정적 데이터 조회 * 이미지, 정적 텍스트 문서 → 조회는 GET 사용, 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 2. 동적 데이터 조회 → 쿼리 파라미터 사용 * 주로 검색, 게시판 목록에서 정렬 필터(검색어) → 조회는 GET 사용, GET은 쿼리 파라미터를 사용해서 데이터를 전달 3. HTML Form을 통한 데이터 전송 - 회원 가입, 상품 주문, 데이터 변경 - HTML Form submit 시 POST전송 : 회원가입, ..
[위상 정렬] 문제로 이해하는 topology sort
·
Computer Science/Algorithms
https://www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설순서 규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net import sys from collections import deque si = sys.stdin.readline def topology_sort() : q = deque([]) for i in range(1,n+1) : if indegrees[i] == 0 : q.append(i) dp[i] = times[i] while q : cur = q.popleft() for x in graph[..
[최단 경로] 문제로 이해하는 dijkstra algorithm
·
Computer Science/Algorithms
https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net import collections import sys from heapq import heappop, heappush si = sys.stdin.readline INF = float('inf') n,m,x = map(int,si().split()) graph = [[] for _ in range(n+1)] for _ in range(m) : u,v,w = map(in..
[spring] Error creating bean with name 'entityManagerFactory' 에러 해결하기
·
Computer Science/DataBase
무엇이 문제일까... 한참을 구글링 하던 중 나와 같은 문제가 발생한 분을 찾았다....... ...... ............. https://velog.io/@zeri/Error-creating-bean-with-name-entityManagerFactory-defined-in-class-path-resourc-%EC%97%90%EB%9F%AC [SPRING]Error creating bean with name 'entityManagerFactory' defined in class path resourc 에러 오늘 스프링 DB 연결할려고 오랜만에 MariaDB 연결할려하니 나를 당황하게 만드는 에러가 뜬다선생님 DB만 연결하게해주세요..열심히 여기저기 구글링하니 'entityManagerFactor..
Access denied for user 'root'@'localhost' (using password: NO) 해결 하기
·
Computer Science/DataBase
[로그인 오류] ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: NO) - 사용자의 비밀번호가 없을 경우 나타나는 오류 문구, 아래 해결 방법에 있는 명령어들 중 하나를 선택해 입력. [해결 방법] 1. mysql -u 사용자 2. mysql -u 사용자 -p 비밀번호 3. mysql -u 사용자 -p Enter password : 비밀번호 입력 위 세 가지 방법 중에서 하나 선택 (3번 방법을 추천, 3번은 명령어 실행 후에 비밀번호 입력 필요함.) 출처 : https://passing-story.tistory.com/entry/MySQL-mysql%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%98%A..
mysql shutdown unexpectedly 에러 해결하기
·
Computer Science/DataBase
Error: MySQL shutdown unexpectedly [mysql] This may be due to a blocked port, missing dependencies, [mysql] improper privileges, a crash, or a shutdown by another method. Instead, first try using the MySQL backup folder which is included with XAMPP. So do next steps: Rename folder mysql/data to mysql/data_old Make a copy of mysql/backup folder and name it as mysql/data Copy all your database fol..