[항해99 취업리부트 WIL] 5주차
·
스케쥴/스터디
Week In Learning (WIL) - 지난 두 주간의 학습 정리 주간 학습 목표: 지난 두 주 동안 MySQL 데이터베이스 설정, Docker를 활용한 개발 환경 구성, Spring Security와 JWT 인증, 이메일 인증 구현, 그리고 사용자 마이페이지 및 비밀번호 수정 기능을 학습했습니다. 첫째 주: MySQL 데이터베이스 설정:     Docker Compose를 활용한 MySQL 컨테이너 설정.     docker-compose.yml, Dockerfile, my.cnf, 초기화 스크립트 등을 통해 MySQL 환경 구성. 문제 해결:     Base64..
[항해99 취업리부트 TIL] 4주차 3일
·
스케쥴/스터디
학습한 내용은 무엇인가요?동적 프로그래밍(DP) 알고리즘 개요DP는 문제를 작은 하위 문제로 나누어 해결한 후 그 결과를 결합하여 원래 문제를 해결하는 기법이다.두 가지 특징:중복되는 하위 문제최적 부분 구조구현 방식:탑다운(메모이제이션)바텀업(테이블화)피보나치 수열피보나치 수열은 DP의 대표적인 예제이다.점화식: F(n) = F(n-1) + F(n-2)초기 조건: F(0) = 0, F(1) = 1탑다운 방식재귀와 메모이제이션을 이용해 구현.중복 계산을 피하기 위해 이미 계산된 결과를 저장.int[] memo = new int[n + 1]; 배열을 -1로 초기화.fib(n, memo) 함수 호출:if (n if (memo[n] != -1) return memo[n];memo[n] = fib(n - 1, ..
[항해99 취업리부트 TIL] 4주차 2일
·
스케쥴/스터디
오늘 진행된 강의에서 학습한 내용은 무엇인가요?블랙잭 - 2798번설명이 문제에서는 주어진 카드 중에서 3장의 합이 목표 숫자 M을 넘지 않으면서 최대한 M에 가까운 값을 찾는 것입니다. 이를 위해 모든 가능한 3장의 카드 조합을 확인하는 브루트 포스 접근법을 사용합니다.해결 방법입력 처리: 카드의 개수 N, 목표 숫자 M, 카드 목록을 입력받습니다.3중 루프 탐색: 세 개의 중첩된 for 루프를 사용하여 모든 3장의 카드 조합을 탐색합니다.최대값 갱신: 각 조합의 합이 M을 넘지 않으면서 지금까지 최대값보다 크면 이 값을 업데이트합니다.출력: 모든 조합을 탐색한 후, 최대값을 출력합니다.코드public class Main { static BufferedWriter bw = new BufferedW..
[항해99 취업리부트 TIL] 3주차 5일
·
스케쥴/스터디
오늘 진행된 강의에서 학습한 내용은 무엇인가요?백준: 알고리즘 수업 - 깊이우선탐색1https://www.acmicpc.net/problem/24479깊이 우선 탐색(DFS)을 사용하여 그래프의 각 정점을 방문하는 순서를 계산하는 프로그램입니다. 그래프는 인접 리스트를 사용하여 구현되었고, 시작 정점에서부터 DFS를 수행하여 각 정점의 방문 순서를 기록합니다. 프로그램의 주요 구성 요소와 동작 방식은 다음과 같습니다:주요 구성 요소입력 처리 및 초기화정점의 수 N, 간선의 수 M, 시작 정점 R을 입력 받습니다.인접 리스트 graph, 방문 여부를 저장할 배열 visited, 방문 순서를 저장할 배열 order를 초기화합니다.그래프 구성간선 정보를 입력 받아 무방향 그래프로 만듭니다.각 정점의 인접 리스..
[항해99 취업리부트 TIL] 3주차 4일
·
스케쥴/스터디
오늘의 다짐오늘 진행된 강의에서 학습한 내용은 무엇인가요?그래프: 개요, 특징, 표현 방법, 예시 코드, 실제 사용 예시개요그래프는 정점(Node)과 간선(Edge)으로 구성된 자료구조입니다.정점: 객체나 개체를 나타냅니다. (예: 도시, 사람, 웹 페이지)간선: 정점 간의 연결을 나타내며, 정점들 간의 관계를 정의합니다. (예: 도로, 친구 관계, 링크)특징데이터 구조: 그래프는 객체 간의 관계를 표현하는데 유용합니다.다양한 유형: 방향 그래프(간선에 방향이 있는 경우)와 무방향 그래프(간선에 방향이 없는 경우)가 있습니다.가중치: 간선에 가중치를 부여하여 거리, 비용 등을 표현할 수 있습니다.표현 방법인접 행렬: 2차원 배열을 사용하여 정점 간의 연결 여부를 나타냅니다.장점: 간선 존재 여부를 빠르게..
[항해99 취업리부트 TIL] 3주차 3일
·
스케쥴/스터디
오늘 진행된 강의에서 학습한 내용은 무엇인가요?1. 서론정렬 알고리즘과 이분 탐색 알고리즘에 대한 개념, 구현, 응용 등을 다룹니다. 정렬 알고리즘은 데이터를 순서대로 재배열하는 데 사용되며, 이분 탐색 알고리즘은 정렬된 데이터에서 특정 값을 빠르게 찾는 데 사용됩니다. 2. 정렬2.1 정렬의 개념 및 중요성정렬은 데이터를 크기 순서대로 재배열하는 알고리즘입니다. 데이터가 정렬되어 있으면 검색, 비교, 분석 등 다양한 작업을 보다 효율적으로 수행할 수 있습니다. 정렬은 컴퓨터 과학에서 매우 중요한 개념이며, 다양한 분야에서 활용됩니다. 예를 들어, 운영체제, 데이터베이스, 웹 검색 엔진, 머신 러닝 등에서 정렬 알고리즘이 사용됩니다.2.2 Collection 정렬 방법Java에서는 다양한 방식으로 Col..
[항해99 취업리부트 TIL] 2주차 6일
·
스케쥴/스터디
항해99 리부트 알고리즘 1주차의 첫 알고리즘 코테를 진행하였다. 4개중 2개를 풀고 이를 복기해본다. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?[백준] 스위치켜고끄기 - 1244https://www.acmicpc.net/problem/1244 스위치 배열 상태 변경 프로그램의 핵심 로직을 분석합니다. 이 로직은 학생들의 명령에 따라 스위치의 상태를 변경하는 기능을 수행합니다.1. 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.StringReader;import java.util.StringTokenizer;public class Main { stat..
[항해99 취업리부트 TIL] 2주차 5일
·
카테고리 없음
오늘 진행된 강의에서 학습한 내용은 무엇인가요?자바의 이차원 배열1. 개요이차원 배열은 행과 열로 구성된 데이터 구조입니다. 각 행은 여러 개의 열로 구성되며, 각 열은 하나의 값을 가지고 있습니다. 이는 격자 형태로 데이터를 표현하는 데 유용하며, 표, 행렬, 게임 보드 등 다양한 상황에서 활용됩니다.2. 이차원 배열 선언 및 초기화이차원 배열은 다음과 같은 방식으로 선언 및 초기화할 수 있습니다.// 선언int[][] array = new int[행의 수][열의 수];// 초기화array[0][0] = 10; // 첫 번째 행 첫 번째 열에 10 저장array[1][2] = 20; // 두 번째 행 세 번째 열에 20 저장위 코드는 array라는 이름으로 5행 3열의 이차원 배열을 선언합니다. new..