본문 바로가기

분류 전체보기94

[백준 Silver 1] 2583 영역구하기 - Java 문제링크 : https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 접근 과정 : 모눈종이를 표현하는 boolean[][] map 배열 생성 입력되는 직사각형에 따라서, 해당 직사각형에 포함되는 영역을 map에 체크 모든 직사각형의 입력이 끝난 후, 모눈 종이를 순회하면서 직사각형이 아닌 영역의 개수 파악. 직사각형이 아닌 부분이 나오면, 해당 칸을 기준으로 DFS하여, 칸의 개수를 파악 영역의 칸의 개수는 List에 담고, 이를 .. 2021. 12. 16.
Clustered Index와 Non-Clustered Index?? 1. Clustered Index와 Non-Clustered Index에 대해서 설명해주세요 Clustered Index는 테이블의 컬럼중 하나를 지정하여 Index로 설정하고, 물리적으로 테이블의 데이터를 재배열하는 것을 말합니다. 저장된 순서에 상관없이 지정된 index에 따라 정렬되며, key값으로 바로 데이터를 탐색합니다. 따라서 테이블 당 하나의 Clustered Index만 존재할 수 있으며, PK는 초기에 Clustered Index로 생성됩니다. 또한 물리적으로 정렬되어있기 때문에, 빠른 속도를 보입니다. 반면, Non-Clustered Index는 물리적으로 데이터를 정렬하지 않고, 별도의 데이터 페이지를 구성하는 것을 말합니다. 따라서 테이블 당 여러개의 Non-Clustered Ind.. 2021. 5. 17.
트랜잭션이 왜 필요할까? 1. 트랜잭션이 무엇인가요? 트랜잭션이란 DB의 상태를 변화시키는 하나의 논리적인 작업에 포함된 연산들의 집합입니다. DB의 상태를 변화시키는 작업은 일반적으로 하나의 작업으로 이루어지지 않습니다. 예를 들어, 은행계좌에서 금액을 이체하려 한다면, 1)A계좌의 잔액을 조회 2)A계좌의 잔액에서 이체할 금액을 빼고 저장 3)B계좌의 잔액을 조회 4)B계좌에 이제금액을 더한 뒤 저장 까지 몇가지의 과정들이 필요하고 이를 모두 합쳐 계좌 이체라는 하나의 작업단위를 구성합니다. 이렇듯 DB 상태 변화를 위한 작업에 포함된 과정(연산)의 집합을 트랜잭션이라고 합니다. 그리고 트랜잭션의 모든 과정의 수행 여부에 따라 Commit되거나 Rollback 됩니다.2. 트랜잭션의 성질에 대해 말해주세요. 트랜잭션의 성질은.. 2021. 5. 17.
DB를 왜 사용할까? 1. DB와 DBMS에 대해서 설명해주세요 DB는 여러 사용자가 공유하여 사용할 수 있도록 통합하여 저장되고 관리, 운영되는 데이터들의 집합입니다. 이를 통해 데이터들의 중복을 제거하고, 구조화하여 효율적인 데이터 처리를 할 수 있습니다. 그리고 DB는 별도의 미들웨어에 의해 관리가 되는데, 이를 DBMS라고 합니다. DBMS는 사용자과 DB 사이에서 사용자의 요청을 처리하고 DB를 관리할 수 있도록 도와줍니다.2. DB의 특징은 무엇인가요? DB의 특징은 크게 5가지로 말할 수 있습니다. - 실시간 접근 : 사용자의 요청을 즉시 처리하여 응답 - 계속적인 진화 : 데이터의 삽입, 갱신, 삭제를 통해 최신 데이터를 유지 - 동시 공유 : 여러 사용자가 동시에 데이터를 사용 가능 - 내용에 의한 참조 : .. 2021. 5. 17.