Annotation이란? 어노테이션은 사전적 의미로는 주석이라는 뜻입니다. 자바에서 사용될 때의 어노테이션은 코드 사이에 주석처럼 쓰여서 특별한 의미, 기능을 수행하도록 하는 기술을 말합니다. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터(meta data: 데이터를 위한 데이터)라고 볼 수 있습니다. Annotation을 사용하는 용도 Annotation을 사용하는 용도는 아래와 같이 크게 3가지가 있습니다. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공 소프트웨어 개발툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보 제공 실행시(런타임시)특정 기능을 실행하도록 정보를 제공 Spring에서 제공되는 대부분의 Annotation은 런타임 시 특정 기능을 실행하도록 정보를 제..
새로운 회사에서 프로젝트를 진행하면서 Java Version에 대한 얘기가 나왔다. 기존에는 LTS 버전을 아무 생각없기 기본으로 사용해 왔었는데 17이 LTS로 되면서 어떤 차이가 있고 어떤 점을 고려해서 스펙을 선택하는 것이 좋은지 고민이 되었다. ❗️물론 많은 차이를 알지는 못하지만... 우선 주요 내용을 정리해보려고 한다...ㅠ Java 8 Lambda Java 8 이전에는 a new Runable 과 같은 인스턴스 생성을 할 때마다, 익명의 내부 클래스를 작성해야 했다. Runnable runnable = new Runnable(){ @Override public void run(){ System.out.println("Hello world !"); } }; 하지만 람다를 사용하면 아래와 같이 ..
스트림 컬렉션의 저장 요소를 하나씩 참조하여 람다식으로 처리할 수 있도록 해주는 반복자 스트림 구성 중간 처리 : 필터링, 매핑, 정렬, 그룹핑 등 최종 처리 : 합계, 평균, 카운팅 등 특징 람다식으로 요소 처리 코드를 제공 내부 반복자를 사용한 병렬 처리 중간, 최종 처리 가능 스트림 얻기 스트림을 사용하기 위해 먼저 스트림을 얻어야 합니다. 컬렉션으로부터 스트림 얻기 stream = studentList.stream(); 배열로부터 스트림 얻기 stream = Arrays.stream(strArray); 숫자 범위로부터 스트림 얻기 stream = IntStream.rangeClosed(1, 100); 파일로부터 스트림 얻기 Path path = Paths.get(“*/*.txt”); stream ..
https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 이 문제는 먼저 10,000 이하의 소수를 구한 뒤, 주어진 숫자를 소수의 합으로 구할 수 있는 경우 그 소수들을 출력하는 방식으로 해결할 수 있는 문제입니다. 만약 가능한 n의 골드바흐 파티션(주어진 수를 이루는 소수의 조합)이 여러 가지인 경우에는 두 소수의 차이가 가장 작은 것을 출력한다고 했기 때문에 소수를 구할 때 주어진 수 n을 반으로 나눈 뒤, 한쪽을 줄여가면서 맞..
https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 문제는 위와 같으면 이 문제는 다른 소수 문제들과 마찬가지로 먼저 에라토스테네스의 체를 통해 123456 * 2 수까지의 소수를 구한 다음, 0이 입력될 때까지 반복문을 돌면서 (주어진 숫자 + 1)부터 (주어진 숫자 * 2)까지 수 중 소수가 있는지 확인하여 소수인 경우 개수를 증가시키고 이 개수를 나중에 출력하는 방식으로 해결할 수 있습니다. 자바 코드는 다음과 같습니다. import ..
- Total
- Today
- Yesterday
- spring
- CodePipeline
- CodeCommit
- ionic
- 순열
- 수학
- CodeDeploy
- 프로그래머스
- array
- map
- DFS
- Dynamic Programming
- permutation
- Baekjoon
- Algorithm
- SWIFT
- programmers
- 소수
- sort
- Combination
- 에라토스테네스의 체
- java
- cloudfront
- string
- BFS
- ECR
- EC2
- AWS
- search
- 조합
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |