최근 포스트

DFS, BFS

깊이 우선 탐색 (DFS, Depth-First Search) 개념 루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법 미로를 탐색할 때 한 방향으로 갈 수 있을 때까지 계속 가다...

Android

Q0. 안드로이드의 실행환경에 대해서 간단하게 설명하시오 안드로이드는 크게 4가지 실행환경으로 구성되어있습니다. 가장 하단부터 리눅스 커널, 라이브러라, 어플리케이션 프레임워크, 어플리케이션 순서입니다. 리눅스 커널은 OS로 안드로이드 스마트폰의 다양한 하드웨어(화면, 카메라, ...

데이터 암호화 기법

SHA-256 개인정보가 되는 정보(비밀번호, 토큰정보 등)를 암호화 할 때 주로 사용 SHA(Secure Hash Algorithm)의 한 종류. 값을 입력받아 고정된 길이(256bit)의 해시 값을 출력 출력 속도도 빠르고 안정성 문제에도 큰 단점이 발견되지 않아...

Floyd-Warshall Algorithm

Floyd-Warshall Algorithm 개념 플로이드-워셜 알고리즘은 모든 최단경로를 구하는 방법이다. 플로이드-워셜 알고리즘에서는 음의 가중치를 가진 간선도 쓸 수 있다. 모든 정점에 대한 경로를 계산하므로 거리를 저장할 자료구조는 2차원 배열이 된다. ...

Dijkstra Algorithm

Dijkstra Algorithm 개념 다익스트라 알고리즘은 하나의 정점에서 다른 모든 정점까지의 최단 경로를 구한다. 간선들은 모두 양의 간선들을 가져야 한다. 다익스트라 알고리즘의 기본 로직은, 첫 정점을 기준으로 연결되어 있는 정점들을 추가해가며, 최단 거리를...