2024/06 32

[항해99 취업 리부트 코스 학습일지] 3주차 알고리즘 학습 Day 6

Q. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?따로 진행된 강의는 없었고, 문제풀이를 진행함. BFS 최단 경로를 구하는 문제최단 경로 문제: 무가중치 그래프에서 노드 A에서 노드 B로 가는 최단 경로를 찾는 문제에서, BFS는 A에서 출발하여 모든 이웃 노드를 탐색하면서 B에 도달할 수 있는 최단 경로를 발견합니다.우선순위 큐 문제각 요소가 우선순위를 가지는 자료구조로, 우선순위가 높은 요소가 먼저 처리됩니다. 주로 가중치가 있는 그래프에서 최단 경로를 찾는 알고리즘, 우선순위 큐를 사용하면 각 노드를 탐색할 때 현재까지의 최단 거리를 기준으로 우선순위를 정하여 효율적으로 최단 경로를 구할 수 있다. 2문제를 풀었다. 아직 알고리즘 문제 접근과 구현이 어렵다.. Q. 이번 주 진행된 팀 스터디에서..

[백준] 1697번 : 숨바꼭질 - Java

문제https://www.acmicpc.net/problem/1697수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다.수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 현재 위치에서 -1, +1, 또는 *2 위치로 이동할 수 있고, 목표는 최소 시간을 계산하는 것이므로 BFS를 사용접근 방법그래프 탐색: 이 문제는 그래프 탐색 문..

[항해99 취업 리부트 코스 학습일지] 3주차 알고리즘 학습 Day 5

Q. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?깊이 우선 탐색(DFS)이란 무엇인가요?깊이 우선 탐색(DFS, Depth-First Search)은 그래프 탐색 알고리즘 중 하나로, 한 정점에서 시작하여 가능한 깊이까지 탐색한 후, 다시 돌아와 다른 경로를 탐색하는 방식입니다. 트리나 그래프의 모든 정점을 방문하는 데 사용됩니다.깊이 우선 탐색의 특징스택 기반: DFS는 스택 자료구조를 사용합니다. 재귀 호출을 이용하면 자연스럽게 함수 호출 스택을 사용하게 됩니다.경로 탐색: 경로를 찾는 데 유용합니다. 예를 들어, 미로를 찾는 문제에 효과적입니다.모든 정점 방문: 그래프의 모든 정점을 한 번씩 방문합니다.시간 복잡도: DFS의 시간 복잡도는 O(V + E)이며, 여기서 V는 정점의 수, E는 간선..

Docker

Docker란 무엇인가?Docker는 애플리케이션을 컨테이너라는 표준화된 유닛으로 패키징하고 배포할 수 있도록 도와주는 오픈 소스 플랫폼입니다. 컨테이너는 애플리케이션 코드, 라이브러리, 설정 파일 등을 포함하여 다양한 환경에서 일관된 실행을 보장합니다.Docker의 주요 구성 요소컨테이너 (Container)Docker 컨테이너는 Docker 이미지의 실행 인스턴스입니다. 이미지를 실행하면, 이미지의 스냅샷인 컨테이너가 메모리에서 실행됩니다. 각 컨테이너는 서로 격리되어 있으며, 자체 파일 시스템, 자체 네트워크 인터페이스를 가지며, 자체 프로세스 공간 내에서 실행됩니다.이미지 (Image)Docker 이미지는 애플리케이션과 그 종속성을 포함하는 경량의, 독립적인, 실행 가능한 소프트웨어 패키지입니다...

[항해99 취업 리부트 코스 학습일지] 3주차 알고리즘 학습 Day 4

Q. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?그래프란 ?그래프는 정점(Node)과 간선(Edge)으로 구성된 자료구조입니다. 정점은 객체를 나타내고, 간선은 정점 간의 관계를 나타냅니다. 예를 들어, 친구 관계를 나타내는 소셜 네트워크에서 사람들을 정점으로, 친구 관계를 간선으로 표현할 수 있습니다. 그래프는 다양한 실제 문제를 모델링하는 데 유용한 자료구조입니다. 예를 들어, 도시 간의 도로 네트워크, 컴퓨터 네트워크, 소셜 네트워크 등이 있습니다. 정점 (Node)정점은 그래프의 기본 단위로, 개체나 객체를 나타냅니다. 예를 들어, 도시, 사람, 웹 페이지 등을 나타낼 수 있습니다.간선 (Edge)간선은 정점 간의 연결을 나타내며, 정점들 간의 관계를 정의합니다. 예를 들어, 도로, 친구 관계..

[항해99 취업 리부트 코스 학습일지] 3주차 알고리즘 학습 Day 3

Q. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?오늘은 정렬과 이분 탐색에 대해 학습했다. 정렬은 데이터를 특정 순서에 따라 배열하는 과정으로, 여러 가지 방법이 있다. 이분 탐색은 정렬된 배열에서 특정 값을 효율적으로 찾는 알고리즘입니다. 아래는 각각의 개념과 알고리즘에 대한 간단한 설명입니다.정렬 (Sorting)정렬은 데이터 요소들을 오름차순이나 내림차순으로 재배열하는 작업입니다. 여러 가지 정렬 알고리즘이 있으며, 그 중 몇 가지를 정리해 보았습니다.버블 정렬 (Bubble Sort): 인접한 두 요소를 비교하여 필요에 따라 위치를 바꾸는 방식으로 배열 끝까지 반복합니다. 단순하지만 비효율적인 알고리즘입니다.삽입 정렬 (Insertion Sort): 배열의 요소를 하나씩 순차적으로 비교하여 올..

[항해99 취업 리부트 코스 학습일지] 3주차 알고리즘 학습 Day 2

Q. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?Heap(Priority Queue)힙은 완전 이진 트리의 일종으로, 우선순위 큐를 구현하기 위해 사용되는 자료구조이다. -힙의 특성힙은 각 노드가 하위 노드보다 큰(또는 작은) 우선순위를 가집니다.최대 힙(Max Heap)에서는 부모 노드가 자식 노드보다 항상 크고, 최소 힙(Min Heap)에서는 부모 노드가 자식 노드보다 항상 작습니다.우선순위 큐 구현에 사용되는 자료구조입니다.우선순위 큐는 삽입 순서에 상관 없이 우선순위가 높은 데이터가 먼저 나가는 형태의 자료구조Priority Queue 우선 순위 - 힙을 사용하여 구현되는 자료구조로, 각 요소가 우선순위를 가지고 있음- 높은 우선순위를 가진 요소가 먼저 처리됨- 예) 작업 스케줄링, 네트워크..

[항해99 취업 리부트 코스 학습일지] 3주차 알고리즘 학습 Day 1

Q. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?stackLIFO 또는 FILO: 스택은 "Last In, First Out" 또는 "First In, Last Out" 방식시간복잡도: O(1)- push: 스택의 맨 위에 요소를 추가합니다.- pop: 스택의 맨 위 요소를 제거하고 그 값을 반환합니다.- peek: 스택의 맨 위 요소를 조회합니다. Queue선입선출(FIFO, First In First Out)의 특성을 가진 자료구조시간복잡도: O(1)- offer/enqueue: 큐의 끝에 요소를 추가합니다.- poll/dequeue: 큐의 첫 번째 요소를 제거하고 그 값을 반환합니다.- peek: 큐의 첫 번째 요소를 조회합니다. Deque양방향에서 데이터를 추가하거나 제거할 수 있는 자료구조-..

[항해99 취업 리부트 코스 학습일지] 2주차 알고리즘 학습 Day 6

Q. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?따로 진행된 강의는 없었고, 문제풀이를 함. DFS 사용 예시경로 문제: 특 그래프에서 노드 A에서 노드 B로 가는 경로가 있는지 확인하는 문제에서, DFS는 A에서 시작하여 가능한 한 깊이 들어가며 B에 도달할 수 있는지 검사합니다.사이클 검출: 무방향 그래프에서 DFS를 사용하여 방문한 노드를 추적하고, 이미 방문한 노드에 다시 도달하면 사이클이 존재한다고 판단할 수 있습니다.백트래킹: 퍼즐 문제나 미로 찾기 문제에서, DFS는 모든 가능한 경로를 시도하면서 해를 찾고, 유망하지 않은 경로는 빠르게 포기하여 다른 경로를 탐색합니다.BFS 사용 예시최단 경로 문제: 무가중치 그래프에서 노드 A에서 노드 B로 가는 최단 경로를 찾는 문제에서, BFS는 ..

[항해99 취업 리부트 코스 학습일지] 2주차 알고리즘 학습 Day 5

Q. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?2차원 배열의 기본 개념을 이해하고 자바로 생성, 접근, 수정, 순회하는 방법,중첩된 반복문을 사용하여 2차원 배열을 효율적으로 순회하는 기법,2차원 배열을 활용한 간단한 문제를 풀어보면서 해결하는 능력을 길렀습니다. Q. 이번 주 진행된 팀 스터디에서 얻은 인사이트는 무엇인가요?팀원들이 모두 정리를 잘해서 보고 많이 배우고 있으며, 다양한 관점과 접근 방식을 통해 문제 해결 능력을 더욱 향상시킬 수 있었다. 항해99 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.https://hanghae99.spartacodingclub.kr/reboot IT 커리어 성장 코스 항해99, 개발자 취업부터 현직자 코스까지항해99는 실무에 집중합니다. 최단기간에 개..