목록2025/05 (66)
변수의 기록

import java.util.*;import java.io.*;public class Backjun_15649 { static int N, M; static int[] result; static boolean[] visited; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken()); ..
트리거(Trigger)란? — Oracle 기준으로 정리하는 SQL 트리거의 개념과 실무 주의사항1. 트리거(Trigger)의 사전적 의미와 개념Trigger는 사전적으로는 아래와 같은 의미를 가집니다:총기의 방아쇠사건을 유발하는 계기어떤 반응을 촉발시키는 요소 (to set off)자동 작동시키는 장치 (to set on)이를 데이터베이스 관점에서 해석하면 다음과 같습니다:트리거는 특정 이벤트(INSERT, UPDATE, DELETE)가 발생했을 때 자동으로 실행되는 절차형 객체로, 명시적으로 호출하지 않아도 자동으로 작동하는 DB 내부 로직입니다.Oracle DB에서 트리거는 테이블 또는 뷰에 부착되며, 다음과 같은 구조로 동작합니다:BEFORE 또는 AFTER 특정 DML(INSERT, UPDATE..
Stored Procedure의 장단점과 일반 백엔드에서의 활용 시 주의점1. Stored Procedure란?Stored Procedure(저장 프로시저)는 SQL 구문을 미리 데이터베이스에 저장해두고, 이를 이름을 통해 실행할 수 있는 일종의 서버 측 함수입니다. 반복되는 DB 연산이나 특정 트랜잭션을 캡슐화하여 효율적으로 관리할 수 있도록 도와주는 도구입니다.2. Three-tier Architecture와 Stored Procedure현대적인 웹 시스템은 대개 다음의 세 계층으로 구성된 Three-tier Architecture를 따릅니다:Presentation Layer: 사용자 인터페이스 (예: React, Vue 등)Application Layer: 비즈니스 로직 처리 (예: Spring, ..

Stored Procedure와 Stored Function의 차이 DBMS에서 자주 쓰이는 저장 객체인 **Stored Procedure(저장 프로시저)**와 **Stored Function(저장 함수)**는 언뜻 비슷해 보이지만, 용도와 실행 방식에 있어 중요한 차이가 존재합니다. 각자의 역할과 제약을 이해하고 적절하게 사용하는 것이 중요합니다.1. 생성 문법항목Stored ProcedureStored Function생성 문법CREATE PROCEDURECREATE FUNCTION값 반환RETURN 키워드 사용 불가 (SQL Server에서는 상태 코드용으로 사용 가능)RETURN 키워드로 반드시 반환값 존재 2. 파라미터와 값 반환항목Stored ProcedureStored Function파라미터로..

Three-tier Architecture와 Stored Function 활용법Three-tier Architecture란?Three-tier architecture는 현대적인 애플리케이션 개발에서 많이 채택하는 3계층 구조 아키텍처로, 시스템을 기능적으로 분리하여 확장성과 유지보수성을 높이는 구조입니다.1. Presentation Tier (프론트엔드)사용자에게 보이는 UI를 담당하는 계층브라우저, 앱, HTML, JavaScript, CSS 등예시: React, Vue, Angular, Native App2. Logic Tier (애플리케이션 로직)비즈니스 로직을 담당하는 계층서비스의 정책, 기능 등이 이곳에서 동작예시: Java(Spring), Python(Django), Node.js, .NET3..

package test;import java.util.*;import java.io.*;/*범위가 20개씩이니깐 bfs보다 dfs 접근이 좋을듯 X = {-1,1,0,0} 상하좌우 + 세로Y = {0,0,-1,1} 상하좌우 + 가로세로 R 가로 C 대문자 CHAR (1,1) H (말 이동 가능 그러나 다음칸이 지금까지 지나온 알파벳 X ) *시작도 +1 로 해야함 문제 - 말이 지날 수 있는 최대의 칸수 DFS 깊은 탐색 여러 케이스 필요함. 백트레킹에서 굳이 따지자면 조합? ex)2 4CAABADCBCABBBDDDBBBDBBB */public class Backjun_1987 { static int r, c, max = 0; static char[][] b..
✅ 백트래킹 (Backtracking) 정의백트래킹은 해를 찾는 도중에이 경로로는 정답이 나올 수 없다는 판단이 들면,되돌아가서 다른 경로를 시도하는 방식의 탐색 알고리즘입니다. 즉, 가능성이 없는 분기(branch)는 더 이상 탐색하지 않고 "되돌아가서(back)" 다른 선택지를 탐색한다는 의미입니다.📦 쉽게 말하면완전탐색을 하긴 하지만,쓸데없는 탐색을 줄이기 위해조건에 맞지 않으면 재귀를 끝내고 뒤로 돌아감🔁 백트래킹의 핵심 요소요소설명재귀(DFS)모든 선택지를 탐색함조건 체크현재 경로가 유망하지 않으면 중단원상복구재귀 호출 후에는 상태를 되돌림 (백트래킹)가지치기더 이상 유효하지 않으면 탐색 종료 (Pruning) 🎯 언제 쓰는가?상황설명모든 경우를 탐색하되, 조건이 있음예: 합이 특정 값..

package test;import java.io.*;import java.util.*;public class Backjun_6603 { static int n; static int[] list; static int[] result = new int[6]; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while (true) { String line = br.readLine(); StringTokenizer st =..