일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Stack
- coding test
- Serialization
- C 언어 코딩 도장
- list 컬렉션
- 메모리구조
- stream
- 윤성우 열혈자료구조
- Algorithm
- 이스케이프 문자
- R
- insertion sort
- 윤성우의 열혈 자료구조
- 혼자 공부하는 C언어
- buffer
- Selection Sorting
- datastructure
- 알기쉬운 알고리즘
- Graph
- JSON
- C programming
- 이것이 자바다
- s
- Today
- Total
목록Algorithm (8)
TechBlog

Graph 정의 '정점의 모음'과 이 정점을 잇는 '간선의 모음'과의 결합입니다. 즉 연결의 집합을 모형화 한것. 수학적인 표현으로는 "정접의 집합을 V, 간선의 집합을 E, 그리고 그래프를 G라고 했을 때 G = (V,E)이다." 정점 몇 개 자체로는 아무것도 아니지만 이들이 간선으로 인해 서로 연결될 때는 '관계'가 형성되고 이로 인해 그래프가 형성됩니다. Graph의 중요성 위대한 수학자 오일러가 17세기에 개발한 이래, 그래프는 수많은 분야에서 도구로 사용되어 왔습니다. 서울 시청에서 버스노선을 정리할 때, 건축회사에서 시공 일정 계획을 할 때, 네이베기션이 경로를 탐색할 때 등 그래프의 응용 분야는 굉장히 다양합니다. 게다가 거의 모든 분야가 컴퓨터에 의존하고 있는 상황에서 프로그래머는 그래프를..

선택정렬 가장 작은 요소를 찾아 선택해 알맞은 위치로 옮겨서 순서대로 정렬하는 알고리즘이다. 선택정렬 알고리즘의 구체적 개념(오름차순 기준) 첫 번째 요소부터 마지막 요소 까지 비교하여 가장 작은 값을 찾아 첫 번째 요소에 위치 시킨다. 다시 두 번째 요소부터 마지막 요소 까지 비교 하여 가장 작은 값을 찾아 두 번째 요소에 위치 시킨다 위 과정을 반복 수핸한다. 선택 정렬 알고리즘 C언어 구현 SelectionSort 함수 배열의 주소와 사이즈를 인수로 받아 Min 함수로 최소값 찾고 Swap 함수로 교환 Min 함수 배열의 주소와 최소값 찾을 구간을 넘겨주면 구간에서 첫번째 요소인덱스를 min에 대입하고 구간에서 루프문으로 두번째 요소부터 마지막 요소까지 list[min]과 비교 하며 최소값 인덱스값..

버블 정렬 이웃한 두 요소의 대소 관계를 비교하여 교환을 반복한다. 버블정렬 알고리즘의 구체적 개념(오름차순 기준) 첫 번째 요소와 두 번째 요소를 비교하여 첫 번째 요소가 두 번째 요소보다 크다면 두 요소 값을 교환한다.두 번째 요소와 세 번째요소를 비교하여 두 번째 요소가 세 번째 요소보다 크다면 두 요소 값을 교환한다. 이런 식으로 세 번째와 네 번째를 ... (마지막-1)과 마지막 요소를 비교하여 (마지막 -1)요소가 마지막요소 보다 크다면 두 요소의 값을 교환한다. 위 단계를 수행하고 나면 가장 큰 값이 마지막 요소에 배치된다. 위 단계를 1회전 수행 후 2단계 수행시 비교는 마지막 요소는 제외한다. 즉, (마지막요소-2)와 (마지막요소-1)까지 비교, 교환을 수행한다. 2회전을 끝내고 나면 (..

it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비 #문제해결 방법 1.char형 배열에 입력된 문자열을 받는다. 2.'\0'(NULL,0)문자 전까지 ch[i] 각 배열 인덱스의 값이 '(' 인지 ')'인지 확인 2-1 '(' 이면 stack에 push, ')'이면 pop 2-2 이때 이미 스택이 비어있는 상태인데 즉 한번도 '('이 나오지 않았거나 나왔는데 ')'를 만나 pop해서 stack이 비어있을때 ')'를 이면 pop를 한다면 무조건 올바르지 않은 상태로 반복문 종료 시키고 "NO"값 출력 (이때 주의 할 사항 이때 3번 상태가 실행되지 않도록 상태 변수에 값을 변경시킴) 3. 정상적으로 for문이 종료 되었을때(상태변수로 확인하여 상태변수 값이 초기 설정값에 대해 ..

it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비 #문제 해결 과정 1. 입력받은 문자를 char형 배열에 저장 2. 실제 문자의(배열의 NULL앞에 문자의 인덱스 값구하기) 3. 마지막 문자부터 괄호의 올바른 형태를 비교 하여 상태값을 나타내는 cnt의 증감을 저장 4. cnt가 0 이면 "YES", cnt가 양수이거나 음수이면 "NO" #올바른 괄호의 형태 idea - '(', ')' 괄호문자가가 짝을 이루어야 한다. ( 홀수개 이면 무조건 올바르지 않은 괄호 "NO") - 개행 괄호가 있으면 반드시 폐행 괄호가 있어야함 마지막 괄호가 '(' 이면 올바르지 않은 괄호 "NO" - 배열의 뒤에서부터 검사해서 '('가 먼저 나오면 무조건 "NO" - 짝을 이루는 상태를 cnt..

it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비 . #문제해결 과정 scanf 대신 gets_s 함수로 공백포함 문자 입력(마지막에는 문자열의 마지막을 표시하는 '\0' null문자가 저장됨) 알파벳에 해당하는 아스키 코드 값 조건 확인하고 출력 이때, 소문자일 경우 소문자 아스키코드 값으로 바꿔서 저장한후 출력 #문법적으로 기억할 사항 *공백문자(space) 아스키코드는 32 '₩0' (NULL)문자는 아스키코드 0 (문자열을 표현할때는 문자열의 끝을 의미하는 문자인 '₩0' 이 삽입. 이 문자를 가리켜 널(null) 문자라 하며 아스키코드값 0에 해당. symbol(name)은 NUL 이라고 함) for문에서. [;(조건문); ] 조건문에 해당하는 부분을 str[i]로 ..

it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비 재귀함수는 Stack 이라는 자료구조를 사용한다. 입력값이 3일때 Recur(3),9Line - Recur(2),9Line - Recur(1),9Line- Recur(0) 순으로 함수호출위치와 함게 스택에 저장되어 Recur(0)부터 빠져나간다. 인수값이 0일때 함수는 return 하고 12라인으로 가고 다음 Recur(1)이 실행되고 함수 호출 다음문장을 실행한다. 9Line 다음인 11Line 출력함수 실행 (1출력)하고 함수 종료 Stack 빠져나간다. 이제 Stack의 제일 위에 있는 Recur(2)의 함수가 다시 실행되고 함수호출 다음 부터 위와 같이 실행을 반복하고 Stack의 바닥에 있는 Recur(3)까지 실행된..

it 취업을 위한 알고리즘문제풀이 (with C/C++) : 코딩테스트 대비 1.내 풀이 2. 다른 사람 코드, 라이브러리 사용 문제해결 과정 주어진 정수와, 진수에 값 저장 스택 초기화 몫이 0 이 될 때 까지 몫을 진수 값으로 나누기 반복(최초의 몫은 주어진 정수값) 나머지 값 Stack에 저장 몫으로 나누기 위해 계속 몫을 다시 몫에 저장 stack 자료구조에 값이 빌때 까지 값 출력 기억하면 좋을 코드 (char 배열을 이용한 2,5,8,16진법에 맞는 숫자 출력) char str[20] = "0123456789ABCDEF"; 출력할때 str[index]에 index에 해당하는 숫자만 대응시키면 해당하는 값을 출력하도록 char형 배열 선언 ex) printf("%d",str[15]); 15에 해..