분류 전체보기
백준 11660 [자바] java 구간 합 구하기 5
백준 11660 [자바] java 구간 합 구하기 5
2022.02.23문제 링크: https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net ▶문제 N×N개의 수가 N×N 크기의 표에 채워져 있다. (x1, y1)부터 (x2, y2)까지 합을 구하는 프로그램을 작성하시오. (x, y)는 x행 y열을 의미한다. 예를 들어, N = 4이고, 표가 아래와 같이 채워져 있는 경우를 살펴보자. 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 여기서 (2, 2)부터 (3, 4)까지 ..
JAVA Stream
JAVA Stream
2022.02.23Stream이란? java에서 데이터의 흐름을 생성할 수 있습니다. 이러한 흐름을 Stream이라고 합니다. Stream을 생성하고 데이터에 연산을 진행할 수 있습니다. 1. 중간 연산 -> 마지막이 아닌 위치에서 실행되는 연산 2. 최종 연산 -> 마지막에 진행되는 연산 연산들을 이용해서 데이터를 가공하는 것이 Stream의 목표라고 할 수 있습니다. Stream 생성 Stream을 생성하는 여러 가지 방법을 살펴보겠습니다. primitive 자료형 int [] arr1 = new int[10]; IntStream stream1 = Arrays.stream(arr1); double [] arr2 = new double[10]; DoubleStream stream2 = Arrays.stream(arr2)..
JAVA Optional<T>
JAVA Optional<T>
2022.02.23Optional 이란? Optional은 null이 올 수 있는 값을 감싸는 Wrapper 클래스입니다. 즉 개발자는 null을 검증하는 로직을 일일이 작성할 필요 없이 Optional로 감싼 후 Optional의 매소드들을 사용해 가공할 수 있습니다. 간단하게 Optional 사용하지 않은 코드와 사용한 코드를 살펴보겠습니다. Box 안에 담겨 있는 Toy를 가져오는 코드입니다. 이때 Toy가 초기화되지 않아서 NullPointerException이 발생합니다. class Box{ Toy toy; public Toy getToy(){ return toy; } } class Toy{ String name; public String getName() { return name; } } public class..
Springboot Dto는 많이 만들어도 될까?
Springboot Dto는 많이 만들어도 될까?
2022.02.22Dto란? Dto는 Data Transfer Object의 약자입니다. 계층 간 데이터 교환 역할을 합니다. DB에 저장되는 Entity를 감싸 Wrapper라고 생각할 수 있습니다. Entity를 클라이언트단과 연결되는 Controller에 사용할 때 문제점이 있습니다. 1. Entity의 스펙 노출 -> Entity의 모든 값이 외부에 노출 될 수 있습니다. 2. 기능에 따라 요구하는 데이터가 다름 -> signup 기능: 이름, 아이디 등등 , login 기능: 아이디, 패스워드 이러한 문제를 해결하기 위해 Dto를 사용합니다. 예를 보겠습니다. @RestController @RequiredArgsConstructor @Slf4j public class UserController { private ..
백준 2156 [자바] java 포도주 시식
백준 2156 [자바] java 포도주 시식
2022.02.22문제 링크: https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net ▶문제 효주는 포도주 시식회에 갔다. 그곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다. 포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다. 연속으로 놓여 있는 3잔을 모두 마실 수는 없다. 효주는 될 수 있는..
JAVA 람다(lambda)
JAVA 람다(lambda)
2022.02.21lambda란? 함수형 프로그래밍에서 사용되는 개념입니다. 익명(Anonymous) 함수라고 불립니다. lambda 특징 1. 추론이 가능한 코드는 제거해 코드가 간결하다 -> 가독성 향상 2. 전달되는 매개변수에 따라서 행위가 결정된다. 3. 람다식 표현 = (파라미터) -> {몸체} 몸체는 return문이 없는 단 일행 일면, {} 생략 가능 코드로 예시를 보겠습니다. interface Calculator{ // 추상 메소드가 하나인 인터페이스 void operation(int a, int b); } public class Main { public static void main(String[] args) throws IOException { Calculator calculator = new Calcu..