목록전체 글 (99)
변수의 기록

package codingTest;import java.util.*;import java.io.*;public class Backjun_1697_숨박꼭질 { static int N,M; //N은 수빈 위치 M은 동생위치 static boolean[] visted = new boolean[100001]; public static void main(String[] args) throws IOException { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLin..

최초 제시한 답 (정답) * 시간 복잡도 = O(N²)package codingTest;import java.util.*;import java.io.*;public class Backjun_11053_tets { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N=Integer.parseInt(br.readLine()); StringTokenizer st =new StringTokenizer(br.readLine()); i..
✅트랜잭션 이상현상과 격리 수준 (SQL-92 표준 기반)💡 트랜잭션에서 왜 "이상현상"이 발생할까?트랜잭션이 동시에 실행되면, 읽기/쓰기 충돌로 인해 **예상하지 못한 결과(= 이상현상)**가 발생할 수 있습니다.이를 방지하기 위해 SQL-92에서는 **3가지 대표적인 이상현상(anomalies)**을 정의하고, 이를 제어할 수 있도록 **4단계 격리 수준(Isolation Level)**을 표준화했습니다.✅ SQL-92 이상현상 3가지 구분설명1. Dirty ReadA 트랜잭션이 아직 커밋하지 않은 데이터를 B가 읽는 현상2. Non-Repeatable ReadA 트랜잭션이 같은 row를 두 번 읽는데 중간에 값이 변경되어 결과가 다르게 나옴3. Phantom ReadA 트랜잭션에서 같은 조건으로..
데이터베이스 설계의 기초: Functional Dependency 정리오늘은 DB 설계의 핵심 개념 중 하나인 **Functional Dependency (함수 종속성)**에 대해 정리해보겠습니다.이 개념은 정규화(normalization) 과정의 기반이 되는 중요한 원리로, 테이블 구조의 논리적 정합성을 판단하는 기준이 됩니다.✅ Functional Dependency란?Functional Dependency(FD)는 하나의 테이블 내 속성들 사이의 의미적 제약 조건을 말합니다.어떤 속성 집합 X가 있을 때, X의 값이 주어지면 Y의 값이 항상 유일하게 결정된다면,이를 X → Y 라고 표현합니다.예:학생ID → 생년월일(학생 ID가 같으면 생일도 같아야 한다) ❗ 중요한 점은 FD는 테이블의 현재 ..

✅ 정규화 (Normalization) 개요정규화는 데이터의 중복을 최소화하고 이상 현상(Anomaly)을 방지하기 위해 테이블을 구조적으로 나누는 과정입니다. 주로 삽입, 삭제, 갱신 이상 (Insert/Delete/Update Anomalies) 을 방지하는 목적입니다.✅ 이상 현상 (Anomalies) 예시1. Insertion Anomaly (삽입 이상)특정 데이터를 저장하려면 불필요한 정보도 같이 저장해야 하는 문제 문제점1.데이터 중복 dept_id , dept_name 등 중복된 데이터 다수 (실수로 인한 데이터 불일치 가능성도 존재,저장공간 낭비)2. null 값 많이 쓰이게 됨. ( 임직원 없는 즉 부서만 입력시 혹은 반대 ) 올바른 db 설계 직원 , 부서 분리되어 삽입 삭제 등..
Repeatable Read에서 Write Skew가 발생하는 이유와 DBMS별 대응 전략 트랜잭션의 일관성을 보장하기 위한 격리 수준 중 하나인 `Repeatable Read`는 이름만 보면 마치 모든 데이터를 고정된 스냅샷으로 보장해줄 것처럼 보입니다. 하지만 실제로는 **Write Skew**와 같은 정합성 오류가 발생할 수 있는 여지가 있습니다. 이 글에서는 `Repeatable Read` 격리 수준에서 발생할 수 있는 Write Skew 현상을 설명하고, 이를 방지하기 위한 전략으로 **Locking Read (SELECT ... FOR UPDATE)** 나 **Serializable 격리 수준**을 사용하는 이유를 정리합니다. 또한, **Oracle, MySQL(InnoDB), PostgreS..

정답.import java.util.*;import java.io.*;public class Main { static int T,N; static int[] dp; public static void main(String[] args) throws IOException { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); T = Integer.parseInt(st.nextToken()); dp = new int[11]; dp[0]..

내가 최초 제출한답 (DP 사용 X )import java.util.*;import java.io.*;public class Main { static int T; static int N; static int count0 =0 ,count1 =0; public static void main(String[] args) throws IOException { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); T=Integer.parseInt(st.nextT..