데이터모델 : 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형 구조 : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질 표현 연산 : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로 데이터베이스를 조작하는 기본 도구 제약 조건 : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건 데이터모델의 구성요소 3가지 : 개체 , 속성, 관계 개체 : 데이터베이스에 표현하려고 하는 것. 현실 세계의 대상체 속성 : 데이터베이스를 구성하는 가장 작은 논리적 단위 도메인 : 하나의 attribute가 취할 수 있는 같은 타입의 원자 값들의 집합 무결성 : 데이터베이스에 저장된 값과 그것이 표현하는 현실세계의 실제값이 ..
분류 전체보기
1.선택 정렬 int a[10] = {7, 5, 2, 10, 8, 4, 3, 1, 6, 9}; 선택 정렬은 이 중에서 가장 작은 데이터를 선택해서 맨 앞의 데이터와 바꾸고 그 다음으로 작은 데이터를 선택해서 앞에서 두번째인 데이터와 바꾸는 작업을 반복해서 수행한다. 항상 가장 작은 데이터를 선택해서 정렬하는 방법이다. #include #include using namespace std; int a[10] = {7, 5, 2, 10, 8, 4, 3, 1, 6, 9}; int main(void) { for (int i = 0; i < 10; i++) { int min_value = a[i]; // 우선 i번쨰 값을 mininum으로 설정 int min_idx = i; for (int j = i+1; j < ..
https://www.acmicpc.net/problem/2531 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net 아 스시 먹고 싶다.. 🍣 배열을 두개 이어붙이는 식으로 원판을 회전하는 경우를 확인했다. n, d, k, c = map(int, input().split()) array = [] # 초밥 for _ in range(n): a = int(input()) array.append(a) # array 를 2배로 늘리기 array.extend(array) max_c..
확인 : 개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인 검증 : 개발된 소프트웨어가 개발자의 입장에서 명세서에 맞게 만들어졌는지 확인 어플리케이션 테스트의 기본 원리 살충제 패러독스 : 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않으므로, 테스트 케이스를 지속적으로 개선해야 한다. 파레토 법칙 : 앱 20%에 해당하는 코드에서 전체 80%의 결함이 발견된다. 오류-부재의 궤변 : 소프트웨어의 결함을 모두 제거해도 사용자의 요구 사항을 만족시키지 못하면 해당 소프트웨어는 품질이 높다고 말할 수 없다. 회복테스트 : 시스템에 여러가지 결함을 주어 실패하도록 한 후 올바르게 복구되는지 확인하는 테스트 강도테스트 : 시스템에 과도한 정보량이나 빈도 등을 부과하여 과부하 시..
https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 쉬어가는 경우의 수 문제~ 조합 모듈 combinations를 이용하면 간단하게 풀 수 있다. from itertools import combinations while True: data = list(map(int, input().split())) if len(data) == 1: break array = list(combinations(data[1:], 6)) array.sort() ..
https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net # https://www.acmicpc.net/problem/11055 n = int(input()) array = list(map(int, input().split())) dp = [i for i in array] # 초기값을 원소값으로 초기화 한다 for i in range(n): for j in range(i): if array[i]..
내가 보려고 정리하는 정처기 문제 오답노트.. Window의 특징 - 선점형 멀티태스킹 : 동시에 여러개의 프로그램을 실행하는 멀티 태스킹을 하면서 운영체제가 각 작업의 CPU 이용시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 장제 종료시키고 모든 시스템 자원을 반환하는 방식 - OLE (Object- Linking and Embedding) : 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체를 현재 작성 중인 문서에 자유롭게 연결하거나 삽입하여 편집할 수 있게 하는 기능 UNIX media1.txt 파일의 소유자를 user12로 변경하는 명령문 chown user12 media1.txt Window 명령 프롬프트에서 현재 디렉터리의 파일 목록을 한 화면 단위로 표시 ..
https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net dfs로도 풀수있다고 하는데, 문제보자마자 난 파이썬 permutation 모듈이 생각나서 그냥 그렇게 풀었는데 메모리초과도 안나고 시간초과도 안나서 통과했다 from itertools import permutations n, m = map(int, input().split()) array = [i for i in range(1, n+1)] # 1...n result = [] for i in l..