[C++] 백준 2644번 촌수계산
·
Algorithm/Solution
2644번: 촌수계산 (acmicpc.net) 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1≤n≤100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어진 www.acmicpc.net 난이도 : 실버 2 문제 설명 : 촌수를 구하는 문제였습니다. DFS와 BFS를 이용하여 구할 수있습니다. 코드 설명: DFS함수의 인자로 now, end, num을 받습니다. now와 end는 구하려는 가족의 넘버이며, num은 촌수계산을 위한 변수입니다. dfs를 돌면서, 방문하지 않은 노드면 num에 +1을 해주고 둘이 가족(연결되어있으면)이면 num을 출력합니다. 둘이 다른 가족이면 ans은 0..
[C++] 명품 C++ Programming 1장 연습문제(이론)
·
Major/C&C++
틀린 거 굵게 표시해놓음 1. ② 소프트웨어 기업 2. ④ 기계어를 익혀서 프로그램을 작성하는 것이 좋은 개발자가 되는 지름길이다 3. ④ Fortran 4. ② C 5. ③ 6. ② 7. ① 8. ④ 9. C, 캡슐화 10. ② 호환성 11. ③ 인라인함수 - 절차 지향 언어 특징 12. 1) TV는 TV안의 여러 부품들이 들어가 보관되어있다. * 캡슐화 : 데이터를 캡슐로 싸서 외부의 접근으로부터 데이터를 보호함 2) >는 경우에 따라 값이 true나 false가 출력된다. * 다형성 : 하나의 기능이 경우에 따라 서로 다르게 보이거나 다르게 작동하는 현상 3) 메뚜기는 생물이다. 그러면 생물이 부모, 자식이 메뚜기임. 생물의 특징중 하나는 물질대사를 한다는 것이므로 메뚜기도 물질대사를 한다. * 상..
[C++] 백준 11724 연결 요소의 개수
·
Algorithm/Solution
11724번: 연결 요소의 개수 (acmicpc.net) 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 난이도 : 실버2 문제 설명 : 연결 요소란, 무방향 그래프에서 적어도 한 개 이상의 경로로 연결된 정점들로 구성된 종속 그래프를 이야기합니다. 예를 들어, 아래와 같은 그림이 있을 때, 연결 요소의 개수는 2개입니다. (각각의 떨어져 있는 그래프가 2개!) 풀이 과정 : DFS나 BFS로 풀 수있는 문제입니다. 이 문제를 풀기 전에 dfs와 b..
[C++] 백준 8958 OX퀴즈
·
Algorithm/Solution
8958번: OX퀴즈 (acmicpc.net) 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 난이도 : 브론즈2 과정 : 연속된 O의 개수들을 더하는 문제였습니다. 연속된 O의 개수를 담는 변수 CNT와, CNT를 더하는 ANS 변수를 선언하여 반복문을 이용해 답을 구하였습니다. #include #include using namespace std; int n; int main() { cin >> n; string arr; for (int i = 0; i > ..
[데이터 통신] Chapter 3 네트워크 기술
·
Major/Computer Network
#쉽게 배우는 데이터 통신과 컴퓨터 네트워크 책을 바탕으로 작성하였습니다. 01 교환시스템 - 네트워크 양단의 패킷은 전송경로 중간에 위치한 교환 시스템을 거친다 1. 회선 교환 방식 : 연결형 서비스 - 고정 대역폭의 전송률을 지원해 네트워크 구조가 단순 - 안정적인 정송률로 데이터를 전송할 수 있다. 2. 패킷 교환 방식 : 비연결형 서비스를 제공 - 가변 대역의 전송률을 지원해 네트워크 구조가 복잡 - 가상 회선 방식과 데이터 그램 방식이 있다. 3. 교환 시스템의 종류 > 전용 회선 방식 : 송신, 수신 호스트가 전용 통신 선로로 데이터 전송 > 교환 회선 방식 : 전송 선로 하나를 다수의 사용자가 공유 ex) 전화망, 공중 통신망 1) 회선 교환 : 데이터 전송 전에 양단 사이의 연결을 설정 ⓐ..
[데이터 통신] Chapter 2 네트워크 모델
·
Major/Computer Network
#쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판) 책을 바탕으로 작성하였습니다. 01 계층구조의 개념 1. 계층적 모듈구조 1) 모듈화 : 복잡한 시스템을 기능별로 모듈화하여 시스템 구조를 단순화 시킴 2) 계층 구조 - 특정 모듈이 다른 모듈에 서비스를 제공하는 형식의 계층 구조 - 장점 전체 시스템을 이해하기 쉽고 설계 및 구현에 용이 시스템 구조를 단순화 시키고, 내부기능의 변화가 전체 시스템에 영향 안줌 3) 오류 제어 - 데이터 링크 계층에서 물리적 전송 오류를 전담하고, 상위계층에서도 전송 오류 문제를 다룬다. 데이터 변형 오류 : 데이터가 깨져서 도착 데이터 분실 오류 : 데이터가 도착하지 못함 4) 흐름 제어 - 수신 호스트의 버퍼 처리 속도보다 송신 호스트가 제이터를 전송하는 속도가 ..
[Lisp] Ch 6 - 리스트 자료구조 (List Data Structures)
·
Major/Lisp
1. 빌트인 함수 1) CONS : 콘즈셀을 만든다 2) LIST : 새로운 리스트를 만든다. 3) APPEND : 리스트에 추가한다. 4) ASSOC : 전체 테이블에서 그것의 키를 받으면 그 키와 값을 출력한다. 5) PUSH, POP : 스택구조에서 PUSH 와 POP이랑 같다. 6) REVERSE : 리스트안 원소들을 뒤집는다. 7) NTH : 리스트중 N번째 원소를 출력한다. 8) NTHCDR : CDR을 N번 적용한 값을 출력한다. 9) LAST : 리스트의 맨 마지막 원소를 출력한다. 8) REMOVE : 리스트에서 원소를 제거한다. 9) KEYWORDP : 키워드인지 확인한다. 10) MEMBER : 리스트의 멤버인지 확인하는 함수(주소를 확인) * 요소 자체를 비교하려면 :TEST #'E..
[자료구조] 이진 트리의 표현 및 순회
·
Major/Data Structure
1. 배열 표현법 - 이진트리를 완전 이진 트리라고 가정하고 연속적으로 값을 할당한다. - 인덱스 0은 사용하지 않는다. - 완전 이진 트리가 아닐 시 기억공간의 낭비가 심하다. 1) 특징 - 노드 i의 부모 노드 인덱스 = i/2 - 노드 i의 왼쪽 자식 노드 인덱스 = 2i - 노드 i의 오른쪽 자식 노드 인덱스 = 2i+1 2. 링크 표현법 - 트리에서의 노드가 구조체로 표현되고, 각 노드가 포인터를 가지고 있어서 이 포인터를 이용하여 노드와 노드를 연결하는 방법이다. - 하나의 노드는 3개의 필드를 가지는데, 왼쪽자식 노드의 포인터, 데이터, 오른쪽 자식의 포인터를 가진다. > 코드 구현 #include using namespace std; typedef struct TreeNode { int d..
[자료구조] 이진트리의 성질*
·
Major/Data Structure
노드의 차수 : 어떤 노드가 가지고 있는 자식 노드의 개수 전체 트리의 차수 : 트리가 가지고 있는 노드의 차수중에 가장 큰값 트리의 레벨 : 트리의 각층에 번호를 매기는 것, 루트의 레벨은 0또는 1이고 한층씩 내려갈 수록 1씩증가 트리의 높이 : 트리가 가지고 있는 최대레벨을 말한다. 이진트리의 성질 - N개의 노드를 가진 이진트리는 N-1개의 간선을 가진다. 높이가 h인 이진트리는 최소 h개의 노드를 가지며, 최대 2^(h+1)-1 개의 노드를 가진다.(루트의 레벨을 0이라 가정) - 노드의 개수가 1 이상인 이진트리에서 차수(분지수)가 i인 노드의 개수를 Ni라고 할때, N0 = N2 +1 이다. 증명 ) n = n0+n1+n2 (전체 노드의 개수는 차수가0인 노드와 1인노드와 2인 노드의 개수를..