| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 메모리구조
- 윤성우 열혈자료구조
- JSON
- insertion sort
- 이것이 자바다
- 알기쉬운 알고리즘
- 윤성우의 열혈 자료구조
- 혼자 공부하는 C언어
- 이스케이프 문자
- ㅅ
- R
- Serialization
- stream
- Selection Sorting
- coding test
- Stack
- C programming
- datastructure
- list 컬렉션
- Graph
- C 언어 코딩 도장
- Algorithm
- s
- buffer
- Today
- Total
목록전체 글 (603)
Engineering Note
it 취업을 위한 알고리즘 문제풀이 문제 코드1 코드2 코드3 문제해결방법 코드2가 첫번째 풀이(퀵정렬로 둘다 정렬 시킨후 하나하나 비교하면서 체크) 정렬도 하고 size도 구해야하는 코드 때문에 시간복잡도가 좋지 않음 퀵정렬 연습으로 사용함 코드1 첫 번째 문자를 기준으로 두 번째 문자와 비교한다. 이때 체크 했던 문자가 다시 검사 되지 않도록 비교 기준이 되는 문자와 같은 문자가 두번째 문자열에 있다면 앞문자와 교환하면서 그렇다면 비교한 곳까지는 두번째 문자도 첫문자와 같은 문자가 된다. 여기까지는 다시 체크할 필요가 없어짐 같은 문자가 없다면 교환하지 않도록 코드 작성했기 때문 이때 flag변수로 같은 문장 있었는지 체크하고 없다면 루프만 빠져나감 flag 문자는 기준문자가 바뀔 때마다 초기화해주어..
퀵 정렬 퀵 정렬은 병합 정렬과 마찬가지로 '분할 정복(divide and conquer')에 근거하여 만들어진 정렬 방법이다. 정렬의 대상이 되는 배열에서 하나의 원소를 고른다. 이 원소를 pivot이라고 한다. 피벗을 기준으로 앞에는 피벗보다 작은 원소를 뒤에는 큰 원소들이 오도록 피벗을 기준으로 배열을 둘로 나눈다. 둘로 나누어진 배열에 대해서 재귀(recursion)적으로 반복한다. 배열의 원소의 개수가 1이 될때 까지 반복한다. 퀵 정렬 세부 동작 과정 left가 가리키는 값이 pivot이 가리키는 값보다 클 때까지 반복 pivot이 가리키는 값과 left가 가리키는 값을 비교하여 left가 가리키는 값이 작기 때문에 left 우측으로 한칸 이동, 4(pivot)와 3을 비교해서 ..
XOR 연산의 의미를 깊게 바라볼 필요가 있다1. 0과 연산하면 자기 자신이, 1과 연산하면 비트가 반전된다2. 교환, 결합 법칙이 성립된다 noel-embedded.tistory.com/1129 temp 변수 없이 swap 하기XOR 연산의 의미를 깊게 바라볼 필요가 있다 1. 0과 연산하면 자기 자신이, 1과 연산하면 비트가 반전된다 2. 교환, 결합 법칙이 성립된다 #include using namespace std; void swap(int* a, int* b) { *a = *a ^..noel-embedded.tistory.com
1. 과목소개 및 개념 2. 임베디드 시스템 개요 3. 임베디드 HW시스템 개요 4. ~ 임베디드 시스템 개발 환경~ 5. 부트로더 6. 부트로더 분석 및 퓨징1 7. 부트로더 분석 및 퓨징2 8. 커널 이미지 및 파일시스템 작성1 9. 커널 이미지 및 파일시스템 작성1 10. 디바이스 드라이버1 11. 디바이스 드라이버2
it 취업을 위한 알고리즘 문제풀이 문제 코드1 코드2 문제해결방법 isPirme함수 (주어진 숫자x가 소수인지 확인하는 함수) flag 변수로 prime 변수사용 2~x-1이 까지 숫자로 나누었을 때 나누어 떨어지는 수가 존재한다면 소수가 아님 나누어 떨어지는 숫자가 없었을 경우 소수임 그런데 이때 103같은 소수의 경우 102이까지 모두 체크해야 소수임을 확인할 수 있는데 시간복잡도 측면에서 좋은 코드가 아님 약수의 규칙을 이용해서 코드 2 처럼 수정 64의 경우 (1,2,4,8,16,32,64) 1과 64, 2와 32, 4와 16이 짝을 이루고 8이 중간에 있다 8 다음의 숫자들에 대해서는 나누어 봐야 약수는 이미 구해졌다는 뜻이다. 여기서 8은 64의 제곱근이다. 제곱근을 구하는 함수를 이용해 i..
자료구조(HYCU 공동환) 1. 자료구조를 위한 준비(자료구조를 위한 C언어 필수문법(변수,상수,제어,루프 포인터와 배열, 라이브러리 함수와 사용자 정의 함수등 자료구조를 위한준비) 2. 자료구조 기초론 3. 검색(선형검색과 이진 검색의 구현) 4. 스택(스택의 이해와 구현) 5. 큐(큐의 이해와 구현) 6. 재귀 알고리즘(재귀 알고리즘 분석과 문제 해결) 7. 정렬1(단순한 정렬 알고리즘) 8. 정렬2(퀵 정렬, 힙 정렬 등) 9. 집합(집합 표현과 배열을 이용한 집합 만들기) 10. 리스트1(선형 리스트와 포인터를 이용한 연결리스트 만들기) 11. 리스트2(이중 연결 리스트의 여러구현) 12. 트리(트리와 이진트리의 이해와 구현) 13. 해시(해시의 이해와 해시법의 구현)
gracefulprograming.tistory.com/16 [C언어 강좌-2] C언어 컴파일 과정안녕하세요 피터입니다. 오늘은 지난시간에 이어 C언어의 컴파일 과정에 대해 설명드리겠습니다. 앞서 여러분이 작성했던 Hello world 코드가 컴퓨터에서 실행이 되려면 우선 컴파일(Compile) 과정gracefulprograming.tistory.com
it 취업을 위한 알고리즘 문제풀이 문제 코드 문제해결방법 주어진 숫자(NUM) 뒤집기 NUM을 계속 나누어 가면서 나머지에 10배씩 하면서 누적 반복 새로운 나머지를 1의 자리 값으로 더해줌(새로운 나머지 더하기 전에 기존 누적 값은 10배해서 좌측으로 한자리씩 올림) 숫자가 한자리가 되어서 몫이 0이 될때 까지 반복 하고 몫이 0이되면 반복 중지 뒤집은 값을 return 뒤집은 숫자 값으로 소수 판정 1과 자기자신을 제외한 약수가 없어야 하므로 2~자기자신-1 숫자사이에서 나누어 떨어지면 거짓return