일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BoB 12기 최종합격 후기
- 리버싱
- 논문리뷰
- CodeEngn
- 디포전
- bob
- race condition
- 정보보안기사
- Best of the Best
- 정보기
- 디지털 포렌식 전문가 2급
- cve-2022-26923
- malware
- 디지털 포렌식 트랙
- 뮤텍스
- BoB 12기
- dll side-loading
- 프로그래머스
- 코드엔진
- DLL 사이드로딩
- 세마포어
- 디포전 2급
- Active Directory
- cve-2024-6387
- 필기
- h4ckinggame
- Today
- Total
목록코딩테스트/자료구조 및 알고리즘 (15)
SEO

동적 계획법(動的計劃法, dynamic programming)이란 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 이것은 부분 문제 반복과 최적 부분 구조를 가지고 있는 알고리즘을 일반적인 방법에 비해 더욱 적은 시간 내에 풀 때 사용한다. -위키백과- 분할 정복과의 차이점 분할 정복은 큰 문제를 해결하기 어렵기에 작은 문제로 나누어 푸는 방법이다. 하지만 이 작은 문제가 포함된 큰 문제에서 이를 다시 풀어야 한다. 이러한 문제를 해결한 것이 동적 계획법이라고 할 수 있다. 동적 계획법은 큰 문제를 작은 문제로 나누어 푼다는 점에서 분할 정복과 유사하지만 작은 문제를 단 한번만 푼다는 점에서 차이점이 있다고 할 수 있다. 동적 계획법 풀이 한번만 푼 모든 작은 문제의 답을 어딘가(배열..

기록용 3줄 TMI 알고리즘 스터디 날짜가 조금씩 밀렸다. 이는 내가 나태해지고 있다는 걸 의미하는 것 같아 반성을 하고 있다. 이번주 활동부터는 정말 절대로 미루지 않을 것이다. 나는 약속을 정말 중요하게 생각하는데 활동이 밀리는 걸 보며 회의감이 든다. 백 트래킹이란? 모든 경우의 수를 전부 고려하는 알고리즘. 상태공간을 트리로 나타낼 수 있을 때 적합한 방식이다. 일종의 트리 탐색 알고리즘이라고 봐도 된다. 방식에 따라서 깊이우선탐색(Depth First Search, DFS)과 너비우선탐색(Breadth First Search, BFS), 최선 우선 탐색(Best First Search/Heuristic Search)이 있다. -나무위키- 라고 정의되어있긴 하지만 내가 생각하는 정의와는 좀 다르다..

기록용 3줄 TMI 시험 끝나고 첫 포스팅이다. 어제 시험이 끝났는데 오늘(11/3) 바로 스터디 준비에 들어갔다. 일단 딥러닝 강의도 슬슬 끝을 보이기 시작한다. 앞으로 일주일 뒤에 딥러닝 강의 수강이 끝나고 심화 프로젝트로 개발에 들어갈 것 같다. 이번주부터 양자컴퓨터 관련 공부 기록도 올라갈 것 같다. 정수론 : 각종 수의 성질을 대상으로 하는 수학의 한 분야 프로그래밍에서 정수론이 어떻게 활용될까? (코딩테스트에서 비주류 유형이라고 하지만 가끔 출제된다고 한다.) 1. 최대공약수/최소공배수 -> 유클리드 호제법 2. 에라토스테네스의 체를 사용한 소수 찾기 및 소인수 분해 3. 거듭제곱과 모듈러 연산 (더 있지만 쉽게 보기 힘든 유형이므로 생략) 먼저 최대공약수(GCD)와 최소공배수(LCM) -> ..

컴퓨터 과학과 수학에서 정렬 알고리즘(sorting algorithm)이란 원소들을 번호순이나 사전 순서와 같이 일정한 순서대로 열거하는 알고리즘이다. 효율적인 정렬은 탐색이나 병합 알고리즘처럼 (정렬된 리스트에서 바르게 동작하는) 다른 알고리즘을 최적화하는 데 중요하다. 또 정렬 알고리즘은 데이터의 정규화나 의미있는 결과물을 생성하는 데 흔히 유용하게 쓰인다. 이 알고리즘의 결과는 반드시 다음 두 조건을 만족해야 한다. 1. 출력은 비 내림차순(각각의 원소가 전 순서 원소에 비해 이전의 원소보다 작지 않은 순서)이다. 2. 출력은 입력을 재배열하여 만든 순열이다. -위키백과- 정렬이란 데이터를 일정한 규칙에 따라 재배열하는 것으로 오름차순 정렬과 내림차순 정렬이 있다. 위키백과에서 선택,삽입,버블 외에..

기록용 3줄 TMI 융합보안 논문 경진대회 준비를 위해 슬슬 양자컴퓨터에 대해 공부해야한다. 양자컴퓨터의 정의 정도는 알지만 그 이외내용은 찾아본적도, 공부해본 적도 없었다. 시험기간이 되니 느끼는 건데 동아리 활동이나 스터디 활동이 훨씬 힘들긴 해도 공부하는 과정은 비교도 안되게 재밌는 것 같다. Brute force란 조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법 - 나무위키 나무위키에서는 브루트 포스의 정의를 위와 같이 표현하고 있지만 알고리즘의 측면에서 본다면 그 예시로 완전 탐색 알고리즘을 들 수 있다. 즉, 모든 경우의 수를 비교해보고 답을 찾아내는 알고리즘이다. (친구와 스터디 진행 후 좀 더 보완을 하면) 완전 탐색 알고리즘의 종류 중 브루트 포스가 있다는 말..

기록용 3줄 TMI 알고리즘 공부는 1학기 때 학교에서 의미와 구조를 살짝 배운 이후로 처음이다. 그냥 아예 처음이라고 생각해도 무방하다. 보안의 기초는 코딩이고 개발에 대해서도 잘 아는 정보보안전문가가 좋은 인재라고 생각한다. 그리고 나의 소소한(?) 코딩 실력을 높이려면 알고리즘 공부는 필수라고 생각한다. 컴퓨터 과학에 있어서 재귀(再歸, Recursion)는 자신을 정의할 때 자기 자신을 재참조하는 방법을 뜻하며, 이를 프로그래밍에 적용한 재귀 호출(Recursive call)의 형태로 많이 사용된다. 또 사진이나 그림 등에서 재귀의 형태를 사용하는 경우도 있다. - 위키백과 쉽게 말하면 자기 자신이라는 문제에 자신(조금 더 작은 경우의 수)을 불러와서 원래보다 더 간단하게 문제를 풀 수 있도록 하..