목록전체 글 (90)
Post-IT

1. 문제 분석 DP는 자주 풀어도 정말 어려운것 같다.. 전에 풀었던 오름차순 부분수열과 꽤 유사한데 이 문제는 그 수열또한 출력해야 한다. 시간복잡도 : O(N^2) 알고리즘 : DP2. 문제 풀이수열의 길이를 1씩 늘려가며 dp에 LCS의 길이를 저장하면서 진행한다.i번째와 j번째가 같을 때 : dp[i][j] = dp[i-1][j-1] + 1다를 때 : dp[i][j] = Math.max(dp[i-1][j], dp[i][j-1]) 3. 코드 구현import java.io.IOException;import java.util.Scanner;public class BOJ_9252 { public static void main(String[] args) throws IOException { ..
개발하면서 제일 귀찮은게 개발환경 세팅...이다. 늘 할때마다 귀찮고.. 그래서 도커를 쓰면 되게 편하다고 들었는데 이번에 공부해보자. 1. 백엔드 Spring Boot 개발환경 설정 우리가 필요한 주요 기술을 포함해서 프로젝트를 생성하려고 한다. 프로젝트는 Spring Initializer에서 세팅했다. 1. Spring Boot 프로젝트 생성Spring Initializr 접속(https://start.spring.io)설정값 입력Project : GradleLanguage : JavaSpring Boot Version : 3.4.3Group : com.auctionArtifact : auction-platformPackaging : JarJava : 17의존성 추가Spring Web (REST AP..
뭔가 이거저거 해본건 많은데 결과물이다 라고 보여줄만한 프로젝트도 없고, 공부했던 내용을 다시 점검해보며 만들어볼 프로젝트를 생각하다가 웹 경매 플랫폼이라는 주제로 프로젝트를 최대한 단기간에 부셔볼 생각이다. 타임어택에 도전 해보려고한다. 이번 일지에는 기본적인 구상을 브레인 스토밍한 내용을 정리해 보려고 한다. 학습 목표는 백엔드 설계 및 구현 + 리액트 를 목표로 두고 있다. 기본적인 설계는 다음과 같고, 약간의 변동사항은 생길 수 있다.1. 프로젝트 개요 1.1. 프로젝트 목표• 실시간 경매 시스템을 구축하여, 사용자가 포인트를 충전하고 경매에 참여할 수 있도록 함.• WebSocket을 활용한 실시간 입찰 기능을 제공하여 원활한 경매 진행을 지원.• 포인트 기반 결제 시스템을 적용하여, 별도의 외..

와 은 둘 다 HTML의 블록 레벨 요소로, 레이아웃을 구성하는 데 사용됩니다. 하지만 의미론적 차이가 있습니다.1. 역할 : 단순한 컨테이너 요소로, 의미 없이 그룹을 묶을 때 사용된다.의미 : 없음(Non-semantic)사용예시레이아웃을 구성할 때스타일링이나 JS이벤트를 적용하기 위해 그룹핑할 때의미론적인 구분이 필요하지 않은 경우 헤더 본문 내용 푸터 2. 역할 : 논리적으로 관련 있는 콘텐츠의 그룹을 의미할 때 사용된다.의미 : 있음(Semantic)사용예시문서의 큰 섹션을 나눌 때독립적인 콘텐츠 블록을 구성할 때검색 엔진 최적화를 고려할 때 회사 소개 우리 회사는 최고의 서비스를 제공합니다. 서비스 다양한 IT 솔루션을 제공합니다. 3. div vs section 차이 의미없음있음..

1. 문제 분석 점화식이 비교적 바로 떠오른 DP문제이다. 역시 DP문제는 점화식만 떠오르면 코드도 간결하고 쉬운거 같다. 시간복잡도 : O(N) 알고리즘 : DP2. 문제 풀이P(1)부터 P(5)까지는 규칙이 없다. 그 이후에는 N번째 삼각형은 N-1번째와 N-5번째의 삼각형 변을 더한 값을 가진다.dp[i] = dp[i-1] + dp[i-5] 3. 코드 구현import java.util.Scanner;public class BOJ_9461 { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int T = sc.nextInt(); long[] P = new long[101..

1. 문제 분석 제일 먼저 떠오르는 것은 아마도 고등학교 때 배웠던 조합이 아닐까 싶다.. 시간복잡도 : O(N) 알고리즘 : 조합(Combination)2. 문제 풀이처음에 팩토리얼 계산으로 조합을 계산했더니 long으로 자료형을 만들었음에도 오버플로우가 발생했다. 그래서 조합 계산시에 발생하는 대칭성을 이용해서 계산을 시도했다. n부터 n-k까지 k개의 수를 곱하고 1부터 k까지의 수를 나눈다. 즉, 곱셈과 나눗셈을 번갈아 가면서 하면 오버플로우가 발생하지 않을것 같다는 생각으로 풀었다.3. 코드 작성import java.util.Scanner;public class BOJ_1010 { public static void main(String[] args){ Scanner sc = n..

1. 문제 분석DP문제이다. 크기를 1씩 늘려가면서 1,2,3, ... , N번째 삼각형까지 메모이제이션을 활용해서 최댓값을 찾으면 된다. 시간복잡도 : O(N^2) 알고리즘 : DP2. 문제 풀이삼각형 크기를 1씩 늘려가면서 최댓값을 구한다.n번째 열에서 각 항의 최댓값dp[n][i] = Math.max(dp[n-1][i] + value[n][i], dp[n-1][i-1] + value[n][i]) 3. 코드 구현import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class BOJ_1932 { public static ..