반응형
HttpServletRequset : HTTP 요청에 대한 정보는 담고 있는 객체 HttpServletRequset는 Spring 프레임워크에서 제공하는 인터페이스이다 사용하는 이유 : 클라이언트로 부터 요청된 정보를 추출하기 위해서 HTTP 요청에 대한 다양한 정보(헤더, 파라미터, 세션 등등 )를 추출하여 사용한다. HTTP 요청에 대한 모든 정보에 접근할 수 있음 @RequestBody Spring 프레임워크에서 제공하는 어노테이션으로 HTTP요청의 본문(Body)에 담겨있는 데이터를 *자바 객체로 매핑 * 하는데 사용한다 주로 POST, PUT, PATCH 같은 메서드로 데이터를 전송할 때 사용 클라이언트가 JSON,XML, 폼 데이터로 전송할 때 주로 자바 객체로 변환하여 컨트롤러 메서드의 매개..
Java Optional : Java 8 이후 소개된 클래스로 , 값이 있을 수 도 있고 없을 수 도 있는 Nullable 객체를 감싸는 래퍼 클래스 null 값을 명시적으로 다루며, NullPointExecption을 방지하고 코드의 안정성을 높이는데 도움이 된다. Java Optional의 주요 특징 객체의 존재 여부 확인 객체가 존재하는지 아닌지를 확인 방법을 제공 isPresent() 메서드를 활용하여 Optional 객체가 비어있는지 확인할 수 있다. 값의 존재 여부에 따른 동작 처리 ifPresent(Consumer action) 메서드를 사용하여 값이 존재할 경우 해당 값을 처리하는 로직을 작성할 수 있다. 이를 통해 값이 존재하지 않을 때의 예외 상황을 방지할 수 있다. 기본 값 설정 or..
Entity와 DTO는 JPA에서 데이터베이스와 자바 객체 간의 매핑을 담당하는 두 가지 서로 다른 클래스 타입 Entity Entity는 JPA의 영속성(Persistence)을 가지는 객체로, 데이터베이스의 테이블과 매핑된다. 주로 데이터베이스의 엔티티와 일치하는 구조를 가지며, 데이터베이스와의 관계를 표현한다. Entity 클래스는 데이터베이스에서 읽어온 데이터를 담는 데 사용되고, 데이터베이스에 데이터를 저장하거나 수정하는 데 사용한다. 비즈니스 로직과 데이터베이스 관련 기능이 함께 포함될 수 있다. Entity 클래스를 그대로 사용하면, 데이터베이스의 테이블과 1:1로 매핑되므로, API 또는 외부 시스템과의 데이터 전송에는 적합하지 않을 수 있다 . DTO DTO는 Entity와 다르게 순수하..
최장 증가 부분 수열(LIS) 최장 증가 부분 수열이란? 어떤 임의의 수열이 주어졌을 때, 수열에서 앞에서부터 차례대로, 순서를 유지한 채 몇 개의 숫자들을 뽑아서 부분 수열을 만들 수 있다. 이렇게 만들 수 있는 부분 수열 중 가장 긴 수열을 최장 증가 부분 수열(LIS, Longest Increasing Subsequence)라고 한다. 예를 들어, [6, 2, 1, 4, 3, 5]라는 수열이 있다면마지막 원소 5를 붙일 거라면, 5보다 앞에 있고, 5보다 작은 수로 끝나는 가장 긴 부분 수열에 붙이는 것이 좋다. [1, 3, 5]가 위 수열에서 만들 수 있는 최장 증가 부분 수열에 해당하고 길이는 3이다. (여러 개 일 수 있다. ) DP를 활용하여 O(N²)으로 구해보기 배열의 숫자를 하나씩 살펴..
문제링크 🚩 https://www.acmicpc.net/problem/5676 5676번: 음주 코딩 각 테스트 케이스마다 곱셈 명령의 결과를 한 줄에 모두 출력하면 된다. 출력하는 i번째 문자는 i번째 곱셈 명령의 결과이다. 양수인 경우에는 +, 음수인 경우에는 -, 영인 경우에는 0을 출력한다. www.acmicpc.net 📕 문제 접근 📕 -기존 세그먼트 트리와 매우 유사하지만 EOF 를 처리하는 유형의 문제이다 - 여러가지 방법이 존재하지만 본인의 경우 try - catch 방식을 활용하여 문제를 해결하였다. - 문제에서 정확한 숫자가 아닌 음수 혹은 정수 혹은 0을 요구했기에 입력 받는 과정에서 음수면 - 양수면 +의 로직을 활용하였다. 💻 Code 💻 import java.io.Buffer..
문제링크 🚩 https://www.acmicpc.net/problem/2268 📕 문제 접근 📕 해당 문제는 세그먼트 트리에서 트리를 만드는 과정에 없어지고 modify와 sum만하면 풀 수 있도록 만들어진 문제다 세그먼트 트리의 정석적인 풀이 방법대로 풀면 매우 쉽지만 문제를 잘 읽어야한다. N개의 수 A[1], A[2], …, A[N] 이 주어졌을 때, 함수 Sum(i, j)는 A[i] + A[i+1] + … + A[j]를 구하는 함수이다. (i > j일 경우에는 A[j] + A[j+1] + ... + A[i]) A가 주어졌을 때** 해당 조건을 확인하면 i > j 일 때 도 있다는 의미가 내포되어있다. 해당 부분을 놓친다면 답이 틀리게된다. 💻 Code 💻 import java.io.Buffer..