일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- select
- 다중db cqrs
- 2정규화
- 트랜잭션 동시성 이슈
- cross origin resources sharing
- 구간합
- 1정규화
- ajax
- 멀티스레드
- SQL
- Bean LifecCycle
- 백준 11660번
- @Retryable
- 3정규화
- function test
- json
- jquery
- cas알고리즘
- this
- 백준
- 2차원배열 구간합
- 생성자
- Java
- sop 우회
- map()
- 단일db cqrs
- lock-based
- 교차 출처 리소스 공유
- 구간합구하기
- segregation
- Today
- Total
목록JAVA/알고리즘 공부 (27)
평범한 연구소
합 배열합 배열은 원본 배열을 전처리한 배열합 배열 S 공식 (S=합배열, A=원본배열)S[i] = A[0] + A[1] + A[2] + ... + A[i-1] A[i] ~ A[j] 까지의 합(구간합)을 합 배열 없이 구하는 경우, 시간 복잡도는 O(N)코딩테스트에서 시간 복잡도는 생명🏄♀️ 구간 합합 배열을 이용하여 시간 복잡도를 줄이기 위해 사용하는 알고리즘구간 합 공식 (S=합배열)S[j] + S[i-1] // i ~ j 까지 구간의 합 1차원 배열의 구간 합1. 배열의 구간 합을 구하는 작업을 선행한다.2. 구간 합 공식을 대입하여 결과를 도출한다.백준 11659번 예제로 공부해보자.https://jeongsoyeon.tistory.com/157 2차원 배열의 구간 합나는 2차원 배열의 경우..

package src.main.java.boj;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Ex11660 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int size = ..

package src.main.java.boj;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Ex11659 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); // 배열 size와..
문제는 여기 ! https://school.programmers.co.kr/learn/courses/30/lessons/250137 attacks 2차원 배열을 해시맵에 담아서 꺼내쓰는 방향으로 리팩토링을 해봐야겠다. private final int MAXIMUM_HEALTH = 30; private boolean isAttacked = false; private int continuousSuccess = 0; public int solution(int[] bandage, int health, int[][] attacks) { int attackCount = attacks[attacks.length-1][0]; // attack 2차배열 마지막요소의 y값 ..
카카오페이 API 를 사용하던 중, Response로 받는 결제시간 데이터가 UNIX timestamp 로 되어있었다. (timestamp : 1672329241) DB에 INSERT 하기 전에 timestamp → Date → String 으로 바꿔주는 작업을 해야했다. 유닉스 시간은 1970년 1월 1일 00:00:00 부터의 경과 시간을 초로 환산하여 정수로 나타낸 것이다. 초는 ms(1/1000초) 단위이므로 1000 을 곱해준 후 Date에 넣는다. ... // 유닉스 타임스태프를 문자열로 변환 long timestamp = Long.parseLong(paid_at); // paid_at : 1672329241 Date date = new Date(timestamp*1000L); SimpleDa..
에라토스테네스의 체 "소수가 되는 수의 배수를 지우면, 남은 건 소수가 된다"라고 생각하는 알고리즘이다. 즉, 2,3,5,7 각 본인을 제외한 배수를 지운 나머지가 소수이다. 원리는 아래와 같다. 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당한다. 2는 소수이므로 오른쪽에 2를 쓴다. (빨간색) 자기 자신을 제외한 2의 배수를 모두 지운다. 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다. (초록색) 자기 자신을 제외한 3의 배수를 모두 지운다. 남아있는 수 가운데 5는 소수이므로 오른쪽에 5를 쓴다. (파란색) 자기 자신을 제외한 5의 배수를 모두 지운다. 남아있는 수 가운데 7은 소수이므로 오른쪽에 7을 쓴다. (노란색) 자기 자신을..