본문 바로가기

분류 전체보기186

[데이터베이스] 5. 조인 [1. 조인] 1. 조인 : 두 개 이상의 릴레이션(테이블)에서 조인 조건에 맞는 두 릴레이션의 투플을 조합하여 만들어지는 투플로 구성된 새로운 릴레이션을 생성하는 연산 - 조건을 설정하여 원하는 데이터만 볼 수 있음 2. 조인의 종류 (1) 내부 조인(∩, inner join) : 왼쪽 테이블과 오른쪽 테이블의 두 행이 모두 일치하는 행이 있는 부분만 표기 (2) 왼쪽 조인(left outer join) : 왼쪽 테이블의 모든 행이 결과 테이블에 표기됨 (3) 오른쪽 조인(right outer join) : 오른쪽 테이블의 모든 행이 결과 테이블에 표기됨 (4) 합집합 조인(full outer join) : 두 개의 테이블을 기반으로 (조건에 만족하지 않더라도) 모든 행이 표기됨 Ex. 학생 명단 테이.. 2023. 2. 17.
[데이터베이스] 4. 인덱스 [1. 인덱스의 기능] - 검색 연산을 빠르게 수행하기 위해 데이터베이스 레코드의 정보를 구성하는 데이터 구조 - 인덱스를 이용하면 전체 데이터를 검색하지 않고 원하는 정보를 빠르게 검색할 수 있으며, 레코드 수가 증가하더라도 검색 속도에 큰 변화가 없음 - 인덱스는 인덱스를 생상한 칼럼 값으로 정렬되어 있어 테이블 내에 실제 값들이 저장된 위치를 갖고 있음 - 접근 경로를 단축함으로써 데이터의 탐색 속도 향상 [2. B-tree] 1. 인덱스는 보통 B-트리라는 자료구조로 이루어져 있음 - 루트 노드 - 브랜치 노드 - 리프 노드 - 트리 탐색은 맨 위 루트 노드부터 시작되어 브랜치 노드를 거쳐 리프 노드로 내려옴 - '57보다 같거나 클때까지 2023. 2. 17.
[C/C++] 프로그래머스스쿨 문자열압축, 구현 코딩테스트 연습 - 문자열 압축 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 #include using namespace std; int solution(string s) { string cnt_s; int sum, check, cnt, a, size = 1, answer = s.length(); while (size 1) { cnt_s = to_string(cnt); sum += cnt_s.size(); } cnt = 1; } } if (cnt > 1) { cnt_s = to_string(.. 2023. 2. 16.
[C/C++] 나동빈 문자열 재정렬, 구현 문제 알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력된다. 모든 알파벳을 오름차순으로 정렬하여 이어 출력한 뒤 모든 숫자를 더하여 출력한다. 예를 들어 K1KA5CB7이 주어지면 ABCKKL13을 출력한다. 코드 #include #include #include #include using namespace std; int main() { vector alphabet_num; string N; char alphabet; cin >> N; int num, sum = 0; for (int i = 0; i 64) { num = N[i]; alphabet_num.push_back(num); } else sum += N[i] - 48; } sort(al.. 2023. 2. 15.
[C/C++] 백준 18406, 구현 18406번: 럭키 스트레이트 (acmicpc.net) 18406번: 럭키 스트레이트 첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. www.acmicpc.net 코드 #include #include using namespace std; int main() { string N; cin >> N; int result = 0; for (int i = 0; i < N.length() / 2; i++) result += (N[i] - N[i + N.length() / 2]); if (result == 0) cout 2023. 2. 15.
[C/C++] 나동빈 게임 개발, 구현 문제 크기가 세로 N 가로 M인 지도가 있다. 캐릭터가 현재 바라보는 방향에서 왼쪽부터 차례로 갈 곳을 정한다. 육지면 이동할 수 있고 바다면 이동할 수 없다. 이동할 수 없을 경우 왼쪽 방향으로 90도 돌아 다시 왼쪽부터 이동할 수 있는지 확인한다. 사방이 막혀있는 경우, 바라보는 방향 그대로 한 칸 뒤가 이미 이동한 칸이라면 다시 돌아간다. 그렇지 않으면 이동을 중단한다. 입력시 0=육지, 1=바다이며 캐릭터가 바라보는 방향은 0=북쪽, 1=동쪽, 2=남쪽, 3=서쪽이다. N과 M은 3과 50 사이이다. 코드 #include using namespace std; int map[50][50]; int hr[] = { 0,-1,0,1 }; int hc[] = { -1,0,1,0 }; int br[] = .. 2023. 2. 15.