복잡한 시스템을 쉽게 사용하는 방법이다시스템의 부분집합을 사용시스템을 특정한 방법으로 사용클라이언트 객체가 다루어야 할 객체의 수를 줄여줌새로운 기능을 추가하여 확장 가능캡슐화 층 - 시스템을 감추고 캡슐화바꾸기(change) 보다는 적응시킴(adapt)인터페이스를 설
create : 데이터베이스 객체를 생성drop : 데이터베이스 객체를 삭제alter : 기존에 존재하는 데이터베이스 객체를 수정insert(C) : 데이터베이스 객체에 데이터를 입력select(R) : 데이터베이스 객체에서 데이터를 조회update(U) : 데이터베이
고지식한 패턴 검색 알고리즘완전탐색, O(NxM)라빈-카프 알고리즘해시 값 함수를 이용, 슬라이딩 윈도우, O(1)x(N-M+1)보이어-무어 알고리즘끝에서부터 문자열을 비교, 뒤로 얼마나 건너뛸지를 미리 skip배열에 저장한다. O(N/M)KMP 알고리즘앞에서부터 문자
최소신장트리 : 무향 가중치 그래프에서 신장 트리를 구성하는 간선들의 가중치들의 합이 최소인 신장 트리정점의 개수가 N일때 N(N-1)/4 -> N^2/4를 기준으로 간선이 많다 적다를 판단한다간선이 적으면 Kruskal간선이 많으면 Prim간선중심으로 최소신장트리를
GET : 데이터를 줘! selectPOST : 데이터를 추가해줘! insert -> ?로 어떤 데이터를 추가해야 하는지 넘겨줘야함PUT : 데이터를 수정해줘! updateDELETE : 데이터를 삭제해줘! delete클라이언트가 요청 -> 서버가 응답 -> 연결 끊기
https://www.acmicpc.net/problem/12933나는 하나의 오리가 낼 수 있는 연속적인 "quack"를 stack에 담아서 처리하는 방식을 생각했다순서에 맞게 k가 들어오면 flag = 1로 하여 오리 울음소리가 있음을 판단하고stack에
즉, 틀에서 동작한다는 의미이다즉, 소스를 원하는대로 바꿀 수 있다제어의 역전으로 주도권이 스프링이다Class: 설계도Object: 실체화가 가능한 것 (추상클래스는 Object가 아님)Instance: 실체화 된 것스프링이 Object들을 읽어서 heap(메모리)에
https://www.acmicpc.net/problem/21608부스트캠프 1차 코딩테스트에서 구현 문제가 나온다길래 풀어본다!문제에서 설명하는 인접한 칸은 상하좌우를 뜻하므로 기본적으로 queue를 사용해서 풀었다.좋아하는 학생의 번호는 그냥 배열에 똑같이
https://www.acmicpc.net/problem/9046문제의 알고리즘보다 문자열을 입력받는 cin을 기억하고자 블로그를 작성한다.공백포함 문자열을 입력받기 위해 getline(cin, str)을 사용했는데예제에서 3을 문자열로 입력받아서 다음 문자열
객체의 관점에서 프로그래밍을 한다기계의 부품을 조립하여 제품을 만들 듯이 객체를 만들어 소프트웨어를 개발할 때에 객체들을 조립하여 작성하는 프로그래밍객체란 우리가 보고 느끼고 인지할 수 있는 모든 것을 의미한다애플리케이션을 구성하는 요소들을 객체로 바라보고, 객체들을
https://www.acmicpc.net/problem/1325그래프의 가장 기본적인 문제로 vector adj와 visited배열, 해킹하는 번호를 저장하는 cnt배열에 값을 저장하여 푸는 문제이다.1부터 n까지 visited배열과 해킹하는 컴퓨터의 수를
https://www.acmicpc.net/problem/1766기본적인 위상정렬은 여러 개의 답이 나올 가능성이 있지만, 해당 문제는 가장 숫자가 작은 번호부터 정렬을 시작하는 문제로 제한을 두어, 답이 1개이다.이때 deg가 0인 정점을 담는 queue을
https://www.acmicpc.net/problem/14267직속 상사의 번호를 p배열에 저장한다.m번 동안 score 배열에 칭찬의 수치를 저장한다. 이때, 칭찬의 수치를 입력받을때마다 직속 부하에게 저장하면 시간초과가 난다.m번 반복이 끝나면 직속 부
https://www.acmicpc.net/problem/2660\-1 -1까지 인접리스트에 양방향으로 친구임을 표시한다.dist배열에 얼마나 먼 친구인지에 대한 정보를 저장한다.dist배열중에 가장 큰 값이 바로 그 회원의 점수이다.해당 값을 score배열에
https://www.acmicpc.net/problem/61181번부터 시작하여 헛간의 거리를 dist배열에 저장한다.이때 문제에서 길의 최소 개수가 거리이므로 bfs인 queue을 이용해야한다.dist를 구할때마다 dist의 최대값을 계속 구한다.최종적으로
https://www.acmicpc.net/problem/1389인접 리스트 연습에 좋은 문제친구면 양방향이므로 각 배열에 추가한다.bfs로 dist배열에 케빈 베이컨 수를 구한다.dist배열에 담긴 수를 모두 더해 앞의 베이컨 수와 비교하여 작으면 해당 유저
logical block디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들주소를 가진 1차원 배열처럼 취급정보를 전송하는 최소 단위SectorLogical block이 물리적인 디스크에 매핑된 위치Sector 0은 최외곽 실린더의 첫 트랙에 있는 첫 번째 섹터이다.
Contiguous AllocationLinked AllocationIndexed Allocation단점externel fragmentationFile grow가 어려움 \-file 생성시 얼마나 큰 hole을 배당할 것인가? \-grow 가능 vs 낭비 (inte