본문 바로가기
DFS(depth-fist search) 깊이 우선 탐색 알고리즘 : 한쪽 분기를 정해서 맨 밑까지 탐색 맞힌 후 다른 분기로 이동하여 탐색 : 스택 성질을 갖는 재귀함수로 표현 - 시간복잡도(노드 수:V, 에지 수: E) : O( V + E ) ex) 단절점 찾기, 단절선 찾기, 사이클 찾기, 위상 정렬 등의 문제를 응용하여 풀 수 있습니다. 2022. 10. 3.
BFS(breadth-fist search) 너비 우선 탐색 : 탐색 시작 노드와 가까운 노드부터 탐색: 스택 성질을 갖는 재귀함수로 표현 - 시간복잡도(노드 수:V, 에지 수: E) : O( V + E ) ex) 단절점 찾기, 단절선 찾기, 사이클 찾기, 위상 정렬 등의 문제를 응용하여 풀 수 있습니다. 2022. 9. 30.
[MacOs] 전자정부프레임워트(Egovframework) 다운로드 1. 다운로드 페이지 이동하기 https://www.egovframe.go.kr/home/sub.do?menuNo=41 개발환경 - 3.x 다운로드 | 표준프레임워크 포털 eGovFrame 처리중입니다. 잠시만 기다려주십시오. www.egovframe.go.kr 4.x 는 2022년 릴리즈 되어서 3.x를 다운로드 받는게 좋을 것 같다고 판단했습니다! 2. 첨부파일 다운로드 하기 3. 다운로드 받은 파일 실행 후 applications 로 드래그앤 드롭 진행 3. 응용프로그램 실행 응용프로그램 실행 시 이와 같으 문구가 뜨면서 실행되지 않는 경우가 생깁니다. 이런경우는 java 경로를 안 넣어서 생기는 문제입니다. 응용프로그램 egovframework 우클릭 > 패키지 내용보기 후 아래 경로 이동 > e.. 2022. 9. 28.
[MacOs] finder 파일 경로 복사 방법 파일 경로 원하는 파일 클릭 후 option + command + c 2022. 9. 26.
위상정렬 알고리즘 - 사이클이 없는 방향 그래프에서 노드 순서를 찾는 알고리즘. - 사이클이 없음. - 시간복잡도(노드 수:V, 에지 수: E) : O(V+E) - 출력값이 항상 유일한 값으로 정렬되지 않습니다. -> 문제에 이러한 문구가 있으면 위상정렬로 시도해볼 수 있다!! 진입차수(indegree) 자기자신을 가리키는 에지의 개수 ArrayList[N] (사이클없을때 사용) 1. 인접리스트, 진입 차수 배열 초기화 2. 진입차수 배열 초기 데이터 저장 3. 위상정렬 수행 import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class P2252_줄세우.. 2022. 9. 23.
개발 블로그 잘 쓰는 방법 공유 좋은 글이 있어서 다른 사람도 보면 좋을 것 같아서 블로그에 공유를 해봅니다. 01. 공부한 내용이 아닌 활용한 내용을 적자 암기가 아닌 이해이기 때문에 공부한 내용을 소스코드와 구조에 어떻게 적용할지 생각하는 것이 필요하다. 같은 맥락으로 블로그에 공부한 내용을 작성할때는 단순히 특정 개념 정리가 아닌 그것을 프로젝트에 활용해 개선해 본 경험을 공유하는 것이 좋다. 02. 개념을 정리하더라도 깊게 하자 개념 소개글은 누구나 쓸 수 있지만, 그 내부 원리에 대해 다루게 되면 아무나 쓸수 없는 글이 된다. ex) http 통신을 하는데 사용하는 WebClient 라는 클래스의 단순한 사용법이 아닌 클래스의 장단점, 내부동작원리 까지 깊게 설명하는 것이 좋은 글이 된다. 03. 글의 가독성을 확보하자 1) .. 2022. 9. 20.
[Baekjoon] 백준 2750번 수 정렬하기 [Java] 버블정렬 sort() 함수 사용과 정렬 직접 구현을 동시에 구현해보았습니다. import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception{ Scanner sc = new Scanner(System.in); int n = sc.nextInt();5 int[] a = new int[n]; for(int i = 0; i 2022. 9. 18.
[정보보안기사] 용어 정리 - [정보보안기사] 용어 정리 - PART 04 시스템보안 1. BIOS(Basic Input/Output System) : 운영체제 중 가장 기본적인 컴퓨터의 입출력을 처리하는 소프트웨어. 2. 파티션(Partition) : 하나의 물리적인 하드디스크에 논리적으로 분할 영역을 만드는 것. (즉, 하나의디스크를 분할하여 별개처럼 사용하기 위해) : 파티션으로 나누면 서로 다른 드라이브로 인식하기 때문에 C드라이브에서 오류가 발생해도 D 드라이브에 있는 파일 안전하게 보존 가능하다. 3. 운영체제 별 관리자 계정 - UNIX : root - Window : Administrator - NetWare : Upervisor 4. 클러스터(Cluster) : Windows 파일 시스템에서 여러 개의 섹터들을 하.. 2022. 9. 16.
[Oracle/SQL] 집계함수 (GROUP BY, HAVING) SELECT 집계함수, 칼럼(칼럼을 제외한 일반 칼럼 사용 불가) FROM WHERE GROUP BY 칼럼 HAVING 그룹 조건식 집계함수 명 ( [DISTINCT / ALL] ) 칼럼명 ) 1. COUNT(*) -> NULL 값 포함 2. COUNT(칼럼) / SUM(칼럼명), AVG(칼럼명)-> NULL 값 제외 3. 집계함수는 WHERE 절에 사용 불가 (GROUP BY 절 보다 WHERE 절이 먼저 수행) 2022. 9. 13.
시간 복잡도 시간 - 즉, 알고리즘 문제를 풀때 시간 제한과 데이터의 개수를 먼저 확인한 뒤 이 문제를 어느 정도의 시간 복잡도의 알고리즘으로 작성해야 풀 수 있을 것인지 예측할 수 있어야 한다. · 2020년 기준 파이썬 3.7로 코드를 작성할 때, 코드가 1초에 2,000만 번 연산을 수행한다고 가정하고 문제를 풀면 실행 시간 제한에 안정적이다. 보통 1초에 1억 연산이 가능하다고 알고 있어서 그럼 주어진 크기가 O(n^2) 1만*1만 = 1억 10만 *10만 = 100억 O(nlogn) 1,000,000(log1,000,000) = 1,000,000 * 6 요정도 알고서 문제를 접근하고 있습니다! 2022. 9. 9.
반응형
LIST