분류 전체보기 151

스프링 공부 101일차

스프링의 역사 2002년에 로드 존슨이 책을 출간함으로써 시작 유겐 휠러와 얀 카로프가 로드 존슨에게 오픈소스 프로젝트를 제안 스프링은 J2EE(EJB)라는 겨울을 지나 새로운 시작이라는 뜻을 가지고 있음 POJO(Plain Old Java Object) 당시 유행하던 EJB의 높은 러닝커브와 복잡한 구조로 인해 고통받던 개발자들의 외침 스프링 부트 스프링 부트를 통해서 스프링 프레임워크를 좀 편리하게 사용할 수 있도록 하는 기능 1. 단독으로 실행할 수 있는 스프링 애플리케이션을 생성할 수 있다. 2. 내장 톰캣 서버가 있어서 별도의 톰캣 서버를 설치하지 않아도 된다. 3. 손쉬운 빌드 구성을 위한 starter 종속성 제공 4. 스프링과 3rd parth(외부) 라이브러리 자동 구성 - 이전에는 외부..

기술 블로그 2024.02.16

234. Palindrome Linked List

https://leetcode.com/problems/palindrome-linked-list/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com palindrome에 대해서 잘 몰라서 풀이 방식에 대해 찾아보았다. 1. 절반으로 나눠서 비교하는 방법 2. 뒤집은 다음에 같은지 확인하는 방법 1번으로 푼 코드 8ms /** * Definit..

코딩테스트 2024.02.16

14. Longest Common Prefix

https://leetcode.com/problems/longest-common-prefix/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com /** 1. 문제 해석하기 가장 긴 공통 prefix를 찾는 문제이고 없으면 "" 반환 2. 문제 풀이 방향 이중 for문으로 풀고 만약 common prefix가 ""이면 바로 반환 최초 comm..

코딩테스트 2024.02.14

136. Single Number

https://leetcode.com/problems/single-number/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 최초 풀이는 HashMap을 이용해서 배열의 요소의 개수를 체크한 후 개수가 1인 요소를 반환했다. 하지만 이렇게 풀이할 경우 공간 복잡도가 O(n)이었다. 문제에서는 공간복잡도 O(1)로 풀길 권장하고 있었기 ..

코딩테스트 2024.02.07

list(ArrayList, LinkedList)

ArrayList ArrayList는 연속된 메모리 공간에 저장된 데이터의 집합이다. 연속된 메모리 공간에 저장되어있기 때문에 cpu cache의 이점을 이용할 수 있다. add 데이터가 add될 때 할당된 메모리 공간에 데이터를 넣다가 할당된 공간이 모자라게 될 경우 더 큰 메모리 공간을 다시 할당해서 지금까지 저장된 데이터를 옮긴 후 다시 데이터를 add합니다. remove 데이터를 삭제할 경우 삭제된 공간 이후에 저장된 모든 데이터를 왼쪽으로 한 칸씩 shift합니다. insert(데이터, 인덱스) 특정 위치에 데이터를 insert하고 싶은 경우 특정 위치 이후의 데이터를 오른쪽으로 한 칸씩 shift합니다. LinkedList LinkedList는 node의 집합으로 이루어져 있으며 node는 v..

알고리즘 2024.02.05

876. Middle of the Linked List

https://leetcode.com/problems/middle-of-the-linked-list/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 전체값을 찾는다. 2. 전체값을 통해 중간값을 찾는다. 3. 중간값에 해당하는 노드는 재귀를 통해 찾는다. /** * Definition for singly-linked list. * ..

코딩테스트 2024.02.05