| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- transactional
- JDBC
- hexagonal architecture
- Adapter
- 실무
- Spring
- Layered Architecture
- Hexagonal
- simplejpaRepository
- Spring Data JPA
- Transaction
- JPA
- springboot
- Today
- Total
ListAlgorithm (21)
Ezcho
from numpy import * import matplotlib.pyplot as plt from scipy.integrate import quad from scipy.optimize import newton from scipy import interpolate g = 9.81 #중력가속도 x_0, x_end = 0, pi #그래프 x 범위 y_0, y_end = 0, 2 #그래프 y 범위 # ---------- functional ---------- def func(x, f, fp, offset): return sqrt((1+fp(x)**2) / (2 * g * f(x, offset))) # ---------- cycloid ---------- R = 1 def f(x, offset=0): def ..
1. 문제설명 원소의 개수와 수열을 입력받는다. 이때 수열이 10 20 10 30 20 50 이라면, 가장 긴 증가하는 부분 수열은 10 20 30 50, 즉 LIS는 4가 된다. 2. 코드 import java.util.Scanner; public class Fav_long_seq { public static int [] FLS; public static int newLength = 1; public static void main(String args[]){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int [] seq = new int[N]; int [] newSeq = new int[N]; for(int i=0;i 20 3 6 25 10..
문제정의 특정 학교를 탐방하는데.. 그 학교는 오르막과 내리막으로 구성되어있다. 학교내 모든 건물들을 정점, 그리고 그 건물사이의 길을 간선이라고 한다. 간선이 오르막일 경우 0, 내리막일 경우 1 으로 표시한다. 이 때 학교의 모든 건물을 다 탐색하고자 할 때, 오르막이 포함되면 피로도가 발생한다. 피로도는 탐색을 위한 트리에서 오르막이 포함된 횟수를 n 이라고 할 때, n^2 이다. 이때 최대 피로도를 가진 경우와 최소 피로도를 가진 경우, 즉 오르막을 가중치로 하는 최대 신장 트리와 최소 신장 트리 간의 피로도 차이를 구하는 문제이다. 코드 import java.io.*; import java.util.*; public class nam { static int n, m; static ArrayLis..
DFS의 경우 깊이 우선 탐색이고 BFS의 경우 너비 우선 탐색인건 다들 알 것이다. 1260 번 문제는 이런 DFS와 BFS의 탐색순서를 출력하는 문제이다. 1260 - DFS와 BFS 위 그림과 같이 정점의 개수, 간선의 개수, 정점의 시작번호(루트번호) 를 첫 줄에 입력받는다. 이후 간선의 개수 만큼 간선들을 입력한다. 이후 DFS, BFS를 수행한 결과를 출력하면 되는 문제이다. Main public class Main { public static boolean[] visited = new boolean[1001]; //DFS위한 방문여부 체크 boolean 배열 public static boolean[] visited_B = new boolean[1001]; //BFS위한 방문여부 체크 bool..
기수정렬이란 이전에 배웠던 버블, 선택, 삽입, 퀵, 병합 등등.. 다른 내부정렬과는 다르게 2-Way 합병정렬에 속한다. 직접 수를 비교하지않고 1의자리비교, 10의자리비교, 100의자리비교 .. -> 를 통해 수를 정렬하는 방법이다. 문제 수 정렬하기 (2750) 문제의 연장선이다. 전체 코드 import java.util.*; public class algo_3rd { public static void main(String[] args) { //메인함수: 입력받고 정렬하기 Scanner sc = new Scanner(System.in); //입력방식은 Scanner를 사용하였다. int N = sc.nextInt(); int[] arr = new int[N]; for(int i=0;i 100의자리 ..
문제 설명 M이상 N이하 소수를 구하면 된다. 소수란 1과 자기자신 만을 약수를 가지는 수를 말한다. 우리는 어떤 수의 약수를 구할 때 어떻게 하는가? N의 약수를 구해보자 1~N까지 반복문을 돌려, N과 %연산을 해보면 된다. 조금더 빠르게 구해보자 1~sqrt(N)까지 반복문을 돌려, N과 %연산을 해보면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static boolean[] TF; public static void main(String[] args) throws..
Dynamic Programming 에 관한 문제중 대표 문제인 배낭 문제의 업그레이드 버전 문제이다. 평범한배낭1 은 아래에서 풀 수 있다. https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 위문제와 본문제의 공통점은 1. 물건 마다 가치가 존재한다는점: 본문제에서는 가치 -> 만족도 로 변경되었다. 2. DP로 푼다는 점 다만 차이점은 1. 물건의 개수가 주어지지않고 종류가 주..
import java.util.Scanner; public class Main { public static int cnt; public static boolean[] TF; public static long min,max; public static void main(String[] args) { Scanner sc = new Scanner(System.in); min = sc.nextLong(); max = sc.nextLong(); long l = max-min+1; TF = new boolean[(int)l]; cnt = 0; for(long i = 2; i