Algorithm

안녕하세요 허언증입니다. vector 컨테이너는 동적 배열과 유사한 개념 기존의 배열 혹은 동적 배열과 마찬가지로 vector를 선언하면 자동으로 메모리 할당, 원하는 원소를 추가, 삭제, 접근 등 배열에서 할 수 있는 기능들을 쉽게 사용할 수 있다. ■ 사용방법 1.헤더파일 #include 2.선언방법 (1). vector name // 1차원 배열 (2). vector name(N, vector(3, 0)); // 2차원 배열 코드 설명 vector name(N, vector(3, 0)); ㄴvector형 벡터 N개(가로 N줄)를 할당 한다는 뜻입니다. vector arr(N, vector(3, 0)); ㄴ모든 가로 줄은 3개 짜리 0으로 초기화 된 익명의 int 벡터 배열을 생성하여 초기값으로 넣게..
안녕하세요. 허언증 입니다. 저같은 경우 C++로 풀었습니다. python, Java로 안 풀었어요!! 문제 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 백준(Baekjoon)_11720_숫자의 합 #include using namespace std; int main(){ int a; int sum = 0; cin >> a; char array[a]; for(int i =0 ; i > array[i] ; } for(int i =0 ; i < a ; i++){ sum += array[i] - '0'; } cout
안녕하세요. 허언증 입니다. 저같은 경우 C++로 풀었습니다. python, Java로 안 풀었어요!! 문제 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 백준(Baekjoon)_11654_아스키코드 #include using namespace std; int main(){ char a; cin >> a; cout
안녕하세요. 허언증입니다. Union_Find에 대해 알아봅시다 여러 개의 노드가 존재할 때 두 개의 노드를 선택해서, 현재 두 노드가 서로 같은 그래프에 속하는지 판별하는 알고리즘입니다. 1. Find (부모 노드를 찾는다) 2. Union ( 두 개의 노드를 하나의 부모노드로 만들어준다) 1~9번 Node가 있습니다. 각 번호는 현재 각자의 번호를 부모노드로 인식하고 있습니다.( 자기자신이 부모노드로 인지) 만약 2번이 1번과 연결을 한다면 2번의 부모노드는 1번이 됩니다. (단. 둘 중 더 작은번호가 부모노드 우선권이 있다고 가정할 때) 그런데 3개이상 연결이 될 땐 신경써줘야 할 부분이 생깁니다. 이처럼 3번째 노드의 부모는 1이 되어야 하지만 2로 지정되어 있습니다. 이 문제점을 해결하기 위해선..
안녕하세요! 허언증입니다. 선택정렬에 대해 공부 하도록 하겠습니다. 선택정렬(Selection Sort)? 가장 작은 것을 앞으로 이동시키면 어떨까? 생각에서 만들어지게 된 알고리즘 입니다. 곧 바로 예시로 한 번 알아보도록 하겠습니다. 1, 5, 3, 10, 4, 7, 9, 2, 6, 8 (정렬되지 않은 숫자 1~10까지의 나열 된 상태입니다) 선택정렬의 방식으로 나열을 시작하면 첫 번째 자리에 있는 1을 기준으로 2~10번 자리까지 비교를 하고 제일 작은 수와 자리를 바꿔줍니다. 1은 이미 제일 작은 수 이기도 하고 첫 번째자리에 있으니 변화가 없습니다. 이젠 첫 번째 자리를 제외하고 두 번째 자리에 있는 5를 가지고 비교를 시작합니다. 1, 5, 3, 10, 4, 7, 9, 2, 6, 8 3~10번..
시간복잡도 시간 복잡도란 big-O에 대한 시간 개념으로 알고리즘의 수행 시간이 얼마인지를 나타냅니다. 간단히 생각해서 프로그램이 총 몇번의 명령을 실행하는가? 입니다. 간단하게 예시를 두개를 가지고 이야기를 하도록 하겠습니다. 위 그림은 for문을 이용해서 구구단을 출력하는 프로그램입니다. 컴퓨터가 프로그램의 결과를 산출하기까지 총 11번을 실행하게됩니다. 소스코드 4,5 = 2번 7~8 = 9번 총 11번 빅오표기법으로 O(11) 입니다. * 빅오표기법은 O(실행횟수)로 표시를 합니다 그 다음 소스코드를 확인해 볼까요? 같은 구구단을 출력하는 프로그램이지만, 이번엔 마지막수를 n으로 받았습니다. 고정적인 수가 아닌 n의 입력에 따라 숫자가 달라지며 명령어 횟수도 증가하게 됩니다. 소스코드 4,5 = ..
이론과 실습 사이
'Algorithm' 태그의 글 목록