분류 전체보기 114

Spring Transaction

DB의 격리 수준 1. Read Uncommited commit 이나 rollback 여부 상관 없이 다른 트랜잭션에서 값을 읽을 수 있다. 정합성 문제가 많은 격리 수준이기 때문에 사용하지 않는 것을 권장한다. commit되지 않은 상태지만, update된 값을 다른 트랜잭션에서 읽을 수 있다. Dirty Read 발생 트랜잭션 작업이 완료되지 않았는데도 다른 트랜잭션에서 볼 수 있는 현상 2. Read Commited Dirty Read 발생 x 실제 테이블에서 가져 오는 것이 아니라, undo 영역에 백업 된 레코드에서 값을 가져온다. T1이 commit한 이후 아직 끝나지 않은 T2가 다시 테이블 값을 읽으면 값이 변경 됨을 알 수 있다.⇒ 입, 출금의 금전적인 처리에서 주로 발생 ⇒ Reapea..

Spring AOP

관심사의 분리 ⇒ 공통 로직의 분리, 공통로직을 사용(호출)하는 코드까지 공통로직의 연장선으로 봄 OOP를 더욱더 OOP스럽게 만들어줌 core concenrn: 핵심 로직 cross cutting concern: 공통 로직 개요 핵심 관심사항과 공통 관심 사항 기존 oop에서는 공통 관심사항을 여러 모듈에 적용하는데 있어 중복된 코드를 양상 하는 한계 존재 → 이를 해결하기 위해 AOP 등장 공통 관심 사항을 기준으로 프로그래밍함으로써 공통 모듈을 손쉽게 적용할 수 있게 함 AOP는 관심사의 분리(핵심적인 기능에서 부가적인 기능을 분리한다) 분리한 부가 기능을 Aspect라는 독특한 모듈형태로 만들어서 설계하고 개발 AOP는 부가 기능을 Aspect로 정의하여, 핵심 기능에서 부가기능을 분리함으로써 핵..

타일 채우기☆

문제 2x1, 1x2, 2x2 타일을 이용하여 2xN 의 바닥을 채우려고 한다, N=7일때 채울수 있는 타일의 경우의 수는?? d[i]=d[i-2]*2+d[i-1] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { static int[] dp; public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int N=Integer.parseIn..

코테 공부 2023.05.08

[BFS] 통나무 옮기기(백준 1938번, 자바)☆☆☆

https://www.acmicpc.net/problem/1938 1938번: 통나무 옮기기 첫째 줄에 주어진 평지의 한 변의 길이 N이 주어진다. (4 ≤ N ≤ 50) 주어진다. 이어서 그 지형의 정보가 0, 1, B, E로 이루어진 문자열로 주어진다. 한 줄에 입력되는 문자열의 길이는 N이며 입력 문 www.acmicpc.net 문제 위의 지형에서 길이 3인 통나무 BBB를 밀거나 회전 시켜 EEE의 위치로 옮기는 작업을 하는 문제를 생각해 보자. 통나무를 움직이는 방법은 아래와 같이 상하좌우(Up, Down, Left, Right)와 회전(Turn)이 있다. 이와 같은 방식으로 이동 시킬 때에 그 움직일 위치에 다른 나무, 즉 1이 없어야만 움직일 수 있다. 그리고 이런 회전(Turn)이 가능하기..

코테 공부 2023.05.08

[누적 합] 파괴되지 않는 건물(프로그래머스, 자바)

문제 본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] N x M 크기의 행렬 모양의 게임 맵이 있습니다. 이 맵에는 내구도를 가진 건물이 각 칸마다 하나씩 있습니다. 적은 이 건물들을 공격하여 파괴하려고 합니다. 건물은 적의 공격을 받으면 내구도가 감소하고 내구도가 0이하가 되면 파괴됩니다. 반대로, 아군은 회복 스킬을 사용하여 건물들의 내구도를 높이려고 합니다. 건물의 내구도를 나타내는 2차원 정수 배열 board와 적의 공격 혹은 아군의 회복 스킬을 나타내는 2차원 정수 배열 skill이 매개변수로 주어집니다. 적의 공격 혹은 아군의 회복 스킬이 모두 끝난 뒤 파괴되지 않은 건물의 개수를 return하는 solution함수를 완성해 주세요. 입력 행렬 모양의 맵의 값 type(회복,..

코테 공부 2023.05.02

[구현] 마법사 상어와 파이어스톰(백준 20058번, 자바)☆

20058번: 마법사 상어와 파이어스톰 (acmicpc.net) 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net 문제 마법사 상어는파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 얼음의 양을 의미한다. A[r][c]가 0인 경우 얼음이 없는 것이다. 파이어스톰을 시전하려면 시전할 때마다 단계 L을 결정해야 한다..

코테 공부 2023.04.28

[BFS] 소가 길을 건너간 이유6

14466번: 소가 길을 건너간 이유 6 (acmicpc.net) 14466번: 소가 길을 건너간 이유 6 첫 줄에 N, K, R이 주어진다. 다음 R줄에는 한 줄에 하나씩 길이 주어진다. 길은 상하좌우로 인접한 두 목초지를 잇고, r c r′ c′의 형태 (행, 열, 행, 열)로 주어진다. 각 수는 1 이상 N 이하이다. www.acmicpc.net 문제 소가 길을 건너간 이유는 그냥 길이 많아서이다. 존의 농장에는 길이 너무 많아서, 길을 건너지 않고서는 별로 돌아다닐 수가 없다. 존의 농장에 대대적인 개편이 있었다. 이제 작은 정사각형 목초지가 N×N (2 ≤ N ≤ 100) 격자로 이루어져 있다. 인접한 목초지 사이는 일반적으로 자유롭게 건너갈 수 있지만, 그 중 일부는 길을 건너야 한다. 농장의..

코테 공부 2023.04.28

[DP] 메이플스토리(백준 20925번,자바)

문제 메이플스토리에는 여러 가지 사냥터가 있다. 각 사냥터는 입장에 필요한 최소 레벨, 지형, 몬스터 레벨, 몬스터 수, 버닝 등등 다양한 특징을 가진다. 상원이는 경험치가 가장 중요하기 때문에 사냥터의 특징을 입장에 필요한 최소 경험치와 1분마다 얻는 경험치로 간략화 했다. 사냥을 시작하고 매 분마다 지금 있는 사냥터에서 계속 사냥할지 다른 사냥터로 갈지 결정한다. 코디 아이템에 돈을 다 써 텔레포트를 할 수 없는 상원이는 사냥터 사이를 직접 걸어서 이동한다. 사냥터 사이를 이동하는 동안 사냥을 할 수 없기 때문에 경험치를 얻을 수 없다. 처음에 캐릭터의 경험치는0이기 때문에 입장에 필요한 최소 경험치가 0$0$인 사냥터 중 하나를 골라 사냥을 시작한다. 상원이가 방학 동안 얻을 수 있는 경험치의 최댓..

코테 공부 2023.04.28

[이분탐색] 세 용액(백준 2473번, 자바)

문제 산성 용액의 특성 값은 1부터 1,000,000,000까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 같은 양의 세 가지 용액을 혼합한 용액의 특성 값은 혼합에 사용된 각 용액의 특성값의 합으로 정의한다. 산성 용액과 알칼리성 용액이 주어졌을 때, 이 중 같은 양의 세 개의 서로 다른 용액을 혼합하여 특성 값이 0에 가장 가까운 용액을 만들어내는 세 용액을 찾는 프로그램을 작성하시오. 입력 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 3 이상 5,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,000,000..

코테 공부 2023.04.28

[위상정렬] 장난감 조립(백준 2637번)☆☆☆

문제 기본 부품으로서 1, 2, 3, 4가 있다. 중간 부품 5는 2개의 기본 부품 1과 2개의 기본 부품 2로 만들어진다. 그리고 중간 부품 6은 2개의 중간 부품 5, 3개의 기본 부품 3과 4개의 기본 부품 4로 만들어진다. 마지막으로 장난감 완제품 7은 2개의 중간 부품 5, 3개의 중간 부품 6과 5개의 기본 부품 4로 만들어진다. 이런 경우에 장난감 완제품 7을 만드는데 필요한 기본 부품의 개수는 1번 16개, 2번 16개, 3번 9개, 4번 17개이다. 이와 같이 어떤 장난감 완제품과 그에 필요한 부품들 사이의 관계가 주어져 있을 때 하나의 장난감 완제품을 조립하기 위하여 필요한 기본 부품의 종류 별 개수를 계산하는 프로그램을 작성하시오. 입력 첫째 줄에는 자연수 N(3 ≤ N ≤ 100)이..

코테 공부 2023.04.25