개발일지 39

5주차 WIL

5주차 회고 Keep : - Lombok 어노테이션 사용 방법 및 실제 사용 사례를 보고 보다 정확하게 구현하기 - Spring-Setting 설정 파일의 의미와 작동 방식, 활용법에 대해서 학습하면서 과제 진행하기 Problem & Try : - 잘못된 구현 > 요구사항을 정확하게 구별하지 못하여 잘못된 방식으로 구현 > 제한 범위를 확인하면서 구현하기 - 재사용 가능한 코드 형식으로 작성하기 > 가능한 부분은 추상화 하며, 적절한 디자인 패턴이 무엇인이 생각하면서 구현 - 복습 > 사용한 코드에 대해서 전반적인 정리와 내부 코드를 확인하면서 보다 완벽한 이해 필요

개발일지 2024.03.03

심화 과정 15 일차

1. 자료구조 및 알고리즘 15일차 수강하기 - 다이나믹 프로그래밍(DP) 2. 새롭게 알게된 지식 - DP : 이전의 결과값이 다음 결정에 필요할 때, 이전의 결과값을 업데이트 하면서 프로그래밍 하는 알고리즘 과제 1 : 최대 서브 배열 : https://leetcode.com/problems/maximum-subarray/ Maximum Subarray - LeetCode Can you solve this real interview question? Maximum Subarray - Given an integer array nums, find the subarray with the largest sum, and return its sum. Example 1: Input: nums = [-2,1,-3,..

개발일지 2024.02.27

심화 과정 14 일차

1. 자료구조 및 알고리즘 14일차 수강하기 - 다익스트라 - 플로이드 - 워셜 2. 새롭게 알게된 지식 - 최단 경로 알고리즘 : 다익스트라 경로의 가중치가 음수가 아니고 시작점이 주어진 경우 최단 경로를 찾는 알고리즘 과제 1 : 네트워크 딜레이 타임 : https://leetcode.com/problems/network-delay-time/ Network Delay Time - LeetCode Can you solve this real interview question? Network Delay Time - You are given a network of n nodes, labeled from 1 to n. You are also given times, a list of travel times as..

개발일지 2024.02.26

4주차 WIL

4주차 회고 Keep : - 시간 복잡도 : 정확한 시간 복잡도를 계산하기 위해 N 을 구함, 내장 함수의 시간 복잡도를 고려 - 수의 범위: 정확한 수의 범위를 계산하고 반영 Problem & Try : - 알고리즘 선택 섞임 > 지속적인 학습으로 보충 > 사용 가능한 알고리즘 기법을 다시한번 정리하고 재사용 할 수 있도록 특정한 format을 만들어서 암기 - 인덱스 문제 > 인덱스를 잘못 선택하여 이진 탐색을 하는 경우 누락되는 경우도 있고 무한 루프에 빠지는 경우도 존재 > 인덱스 사용을 최소화 하고, 테스트 케이스를 조금 늘려서 인덱스를 확인 후 문제 접근 - 시간 문제 > 명확하게 풀이 의도가 보인다면 빠르게 해결 할 수 있지만, 그렇지 않는 경우에는 소요 시간이 많음 > 특히, 그리디나 이진..

개발일지 2024.02.25

심화 과정 13 일차

1. 자료구조 및 알고리즘 13일차 수강하기 - 이진 탐색 2. 새롭게 알게된 지식 - 원하는 수를 특정 범위내에서 빠르게 찾을때 이진 탐색이 유용하다. 과제 1 : 두 수의 합 2 https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/ Two Sum II - Input Array Is Sorted - LeetCode Can you solve this real interview question? Two Sum II - Input Array Is Sorted - Given a 1-indexed array of integers numbers that is already sorted in non-decreasing order, find two numb..

개발일지 2024.02.24

심화 과정 12 일차

1. 자료구조 및 알고리즘 11일차 수강하기 - 그리디 2. 새롭게 알게된 지식 과제 1 : BOJ 11399 ATM 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net - 접근 : 누적 합 문제 - 코드 구현 : 과제 2 : BOJ 13305 주유소 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net - 접근 : 지역에 도달할 때, 지나온..

개발일지 2024.02.23

심화 과정 11 일차

1. 자료구조 및 알고리즘 11일차 수강하기 - 정렬 2. 새롭게 알게된 지식 - O(n^2) 정렬 : 선택 / 버블/ 삽입 정렬 - 최대 O(n^2) 정렬 평균 O(NlogN): 퀵 정렬 - O(NlogN) 정렬 : 병합 / 힙 정렬 - 병합 정렬 절반씩 나누면서 원소가 1개가 남을 때까지 분리 나눈 과정을 반대로 병합 하면서 작은 순대로 정렬 과제 1 : 수 정렬하기 2 : https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net - 접근..

개발일지 2024.02.23