목록모두 보기 (514)
기록방
01 데이터베이스 관리 시스템의 등장 배경과거에는 데이터를 관리하기 위해 파일 시스템(file system)이라는 소프트웨어 이용데이터를 파일로 관리할 수 있도록 파일을 생성/삭제/수정/검색하는 기능을 제공운영체제와 함께 설치 됨응용 프로그램별로 필요한 데이터를 별도의 파일로 관리파일 시스템 환경에서는 응용 프로그래머가 파일의 논리적인 구조 뿐 아니라 물리적인 구조까지 정확히 파악해야 함필요한 데이터에 직접 접근하여 처리하는 응용 프로그램 개발을 위해파일 시스템의 문제점같은 내용의 데이터가 여러 파일에 중복 저장된다.파일 시스템에서는 응용 프로그램 별로 파일을 유지하므로 같은 데이터가 여러 파일에 저장될 수 있다. 데이터 중복성(data redundancy) 문제가 발생한다.데이터가 중복되면 저장 공간이..
👉 문제링크 14499번: 주사위 굴리기첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지www.acmicpc.net🔸 문제 분석 🔸N x M 지도에서 정육면체 주사위를 굴려가며, 주사위 윗면의 숫자를 출력한다.주사위가 이동했을 때 다음과 같은 숫자 변화가 있다.이동한 지도의 칸의 숫자가 0이면, 맞닿아 있는 주사위 아랫면의 숫자가 지도로 복사된다.이동한 지도의 칸의 숫자가 0이 아니면, 지도의 숫자가 주사위 아랫면으로 복사된다.🔸 문제 풀이 🔸주사위의 회전에 따른 숫자 이동을 구현한다.지도상의 ..
분리 집합(Disjoint Set)은 일반적으로 여러 노드가 있을 때 특정 2개의 노드를 연결해 1개의 집합으로 묶는 union 연산과 두 노드가 같은 집합에 속해 있는 지를 확인하는 find 연산으로 구성되어 있는 알고리즘이다. union 연산 : 각 노드가 속한 집합을 1개로 합치는 연산 find 연산 : 특정 노드 a에 관해 a가 속한 집합의 대표 노드를 반환하는 연산 Union-Find 원리 이해하기 Union-Find를 표현하는 일반적인 방법은 1차원 배열을 이용하는 것 처음에는 노드가 연결되어 있지 않으므로 각 노드가 대표 노드가 됨 각 노드가 모두 대표 노드이므로 배열은 자신의 인덱스 값으로 초기화 2개의 노드를 선택해 각각의 대표 노드를 찾아 연결하는 union 연산을 수행 대표 노드가 아..
👉 문제링크 1976번: 여행 가자 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인 www.acmicpc.net 🔸 문제 분석 🔸 N개의 도시 중 M개의 도시를 여행하고자 한다. 경로가 있어서 여행이 가능하면 YES, 불가능하면 NO를 출력한다. 🔸 문제 풀이 🔸 여행 하고자 하는 M개의 도시 간에 경로가 있는지 파악하는 쉬운 방법은 같은 집합에 있는지 확인하는 것이다. 분리 집합(Disjoint Set)으로 N개의 도시들의 집합을 나눈다. 여행 계획상의 도시들이 같은 집합에 있으면 경로가 존재한다는 뜻이다. 분리 집합이 아니라 BFS나 DFS로 Brute F..
👉 문제링크 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 🔸 문제 분석 🔸 9x9 스도쿠 문제가 주어지면, 빈칸을 채워서 출력하는 문제이다. 🔸 문제 풀이 🔸 스도쿠 규칙에 따라 가로, 세로, 정사각형에 겹치는 숫자가 없도록 숫자를 채워가야 한다. 만약 숫자를 놓지 못하는 경우가 생기면, 직전에 놨던 숫자를 취소하고 다시 놓아 보아야 하기 때문에 백트래킹이 필요하다. 백트래킹에서 가로, 세로, 정사각형에 겹치는 숫자가 있는지에 대한 상태 정보도 필요하다. 숫자를 채워가며 마지막 칸까지 채우는데 성공하면, ..