목록Algorithm (80)
Try
출처 http://codingdojang.com/scode/612#answer-filter-area 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697/*/* /* khsh5592@naver.com/* has3ong.tistory.com/* /* 2018 - 11 - 12/**/#include #include #include using namespace std; //int Check_Data[5] = {12, 17, 19, 17..
출처 https://programmers.co.kr/learn/courses/30/lessons/43165 소스 /*/*/*khsh5592@naver.com/*has3ong.tistory.com/*/*2018 - 11 - 12/**/#include#include#include#include#includeint answer = 0;using namespace std;void solution(vector numbers, int target, int index){int sum;if(index
출처코딩 도장http://codingdojang.com/scode/626?answer_mode=hide 문제- 피보나치 시저 암호를 만드시오 맨 처음 줄에는 정수인 암호키가 주어진다. (0 < N < 10000 ) 그 다음 줄에는 변환하고 싶은 문자열이 주어진다. 문자열의 길이만큼 피보나치 수로 바꿔 문자열을 바꾸시오. (예를 들어 암호키가 4 라면 수열은 1,4,5,9 . . . 로 되어 그 숫자만큼 문자열을 돌린다.) 입력에 소문자는 들어가 있지않으며 기호나 숫자가 들어가 있을 시 그대로 둔다. ( 공백 포함) (시작은 무조건 1이다.) 입력) 1AAAAA1HELLO, WORLD!3ABCDE 출력) BBCDFIFNOT, EMBTG!BEGKP 소스 123456789101112131415161718192..
출처https://uva.onlinejudge.org/external/1/p136.pdf 코딩도장http://codingdojang.com/ Ugly numbers are numbers whose only prime factors are 2, 3 or 5 소스 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758/*/* /* khsh5592@naver.com/* has3ong.tistory.com/* /* 2018 - 11 - 12/**/ #include#include using namespace std; int Ugly_Number(int n){ if(n==1) {..
시간복잡도 과 두가지 방법 예제 소스. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152/*/* /* khsh5592@naver.com/* has3ong.tistory.com/* /* 2018 - 11 - 11/**/#include #include #include using namespace std; int Check_Data_1[15] = {10, 11, 13, 0, 1, 3, 5, 2, 4, 9, 12, 6, 8, 14, 7};int Check_Data_2[15] = {10, 5, 13, 0, 1, 3, 8, 2, 4, 9, 12, 6, 8, 14, 7}; void Check_Ar..
큐 ( Queue) 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO (First In First Out)구조로 저장하는 형식을 말한다. 영어 단어 queue는 표를 사러 일렬로 늘어선 사람들로 이루어진 줄을 말하기도 하며, 먼저 줄을 선 사람이 먼저 나갈 수 있는 상황을 연상하면 된다. 나중에 집어 넣은 데이터가 먼저 나오는 스택과는 반대되는 개념이다. 프린터의 출력 처리나 윈도 시스템의 메시지 처리기, 프로세스 관리 등 데이터가 입력된 시간 순서대로 처리해야 할 필요가 있는 상황에 이용된다. 소스 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515..
스택 (Stack) 스택(stack)은 제한적으로 접근할 수 있는 나열 구조이다. 그 접근 방법은 언제나 목록의 끝에서만 일어난다. 끝먼저내기 목록(Pushdown list)이라고도 한다. 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있다. 자료를 넣는 것을 '밀어넣는다' 하여 푸시(push)라고 하고 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라고 하는데, 이때 꺼내지는 자료는 가장 최근에 보관한 자료부터 나오게 된다. 이처럼 나중에 넣은 값이 먼저 나오는 것을 LIFO 구조라고 한다. 이를테면, a부터 b와 c를 순서대로 넣은 다음 자료를 하나씩 꺼내면 c부터 b와 a의 순서로 나오게 된다. S를 스택, x를 데이터 요소(el..
퀵 정렬 (Quick Sort) 퀵 정렬은 n개의 데이터를 정렬할 때, 최악의 경우에는 O(n2)번의 비교를 수행하고, 평균적으로 O(n log n)번의 비교를 수행한다.퀵 정렬의 내부 루프는 대부분의 컴퓨터 아키텍처에서 효율적으로 작동하도록 설계되어 있고(그 이유는 메모리 참조가 지역화되어 있기 때문에 CPU 캐시의 히트율이 높아지기 때문이다.), 대부분의 실질적인 데이터를 정렬할 때 제곱 시간이 걸릴 확률이 거의 없도록 알고리즘을 설계하는 것이 가능하다. 때문에 일반적인 경우 퀵 정렬은 다른 O(n log n) 알고리즘에 비해 훨씬 빠르게 동작한다. 1. 소스 1234567891011121314151617181920212223242526272829303132333435363738394041424344..
버블정렬 거품 정렬(Bubble sort)은 두 인접한 원소를 검사하여 정렬하는 방법이다. 시간 복잡도가 {\displaystyle O(n^{2})}로 상당히 느리지만, 코드가 단순하기 때문에 자주 사용된다. 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름이다. 1. 버블정렬 소스 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556/* /* khsh5592@naver.com/* has3ong.tistory.com/* /* 2018 - 11 - 09/**/ #include #include #include #include using namespa..
링크드 리스트 ( Linked List) 연결 리스트, 링크드 리스트(linked list)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다. 이름에서 말하듯이 데이터를 담고 있는 노드들이 연결되어 있는데, 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당하게 된다. 연결 리스트의 종류로는 단일 연결 리스트, 이중 연결 리스트 등이 있다. 연결 리스트는 늘어선 노드의 중간지점에서도 자료의 추가와 삭제가 O(1)의 시간에 가능하다는 장점을 갖는다. 그러나 배열이나 트리 구조와는 달리 특정 위치의 데이터를 검색해 내는데에는 O(n)의 시간이 걸리는 단점도 갖고 있다. 기본 형태 링크드 리스트가 연결된 형태. 첫 번째 노드를 Head라 하고 마지막 노드..