일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java.sql.SQLSyntaxErrorException
- CSTS 폭포수 모델
- 해외주식 양도세 신고
- 재귀 예제
- Katalon Recorder 사용법
- 피보나치함수
- bfs 미로탐색 java
- tomcat log
- 피보나치함수 예제
- katalon 비교
- 톰캣 실시간 로그
- katalon
- katalon 자동화
- js 자동완성
- katalon xpath
- git 연동
- 홈택스 해외주식 양도세
- 해외증권 양도세 한국투자증권
- 한국투자증권 해외주식 양도세
- 주식 양도세 신고방법
- 테스트 자동화
- 피보나치 예제
- 국세청 해외주식 양도세 신고방식
- javascript 자동완성
- 한국투자증권 양도세 신고
- oracle group by
- 재귀함수 예제
- recursion example
- 최대공약수 예제
- katalon 사용법
- Today
- Total
목록전체 글 (390)
엄지월드
스프링 3버전은 레퍼런스가 적어 부담이 되어 2버전으로 변경하고 싶은 니즈가 있었다.그래서 build.gradle에서 2.7.5 버전으로 낮추어 주었고, java 버전은 그에 따라 11버전으로 낮추어 주었다.
문제설명간단한 피보나치 수열 문제라고 생각해서 DP로 풀어서 냈다. 하지만 바로 틀렸다고 뜨길레 범위를 보니깐 10,000까지의 범위였다.10,000까지의 범위는 long도 커버할 수 없기 때문에 BigDecimal을 활용해서 처리하였더니 성공했다. 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.math.BigDecimal;public class Main { public static void main(String[] args) throws IOExc..
자바가 람다를 지원하면서 API를 작성하는 모범 사례도 크게 바뀌었다. 예컨대 상위 클래스의 기본 메서드를 재정의해 원하는 동작을 구현하는 템플릿 메서드 패턴의 매력이 크게 줄었다. 이를 대체하는 현대적인 해법은 같은 효과의 함수 객체를 받는 정적 팩터리나 생성자를 제공하는 것이다. 이 내용을 일반화해서 말하면 함수 객체를 매개변수로 받는 생성자와 메서드를 더 많이 만들어야 한다. 이때 함수형 매개변수 타입을 올바르게 선택해야 한다. 예컨대 removeEldestEntry를 다음처럼 재정의하면 맵에 원소가 100개가 될 때까지 커지다가, 그 이상이 되면 새로운 키가 더해질 때마다 가장 오래된 원소를 하나씩 제거한다. 즉, 가장 최근 원소 100개를 유지한다. protected boolean remove..
람다가 익명 클래스보다 나은 점 중에서 가장 큰 특징은 간결함이다.그런데 자바에는 함수 객체를 심지어 람다보다도 더 간결하게 만드는 방법이 있으니, 바로 메서드 참조(method reference)다. 다음 코드는 임의의 키와 Integer 값의 매핑을 관리하는 프로그램의 일부다. 이때 값이 키의 인스턴스 개수로 해석된다면, 이 프로그램은 멀티셋(multiset)을 구현한 게 된다. 이 코드는 키가 맵안에 없다면 키와 숫자 1을 매핑하고, 이미 있다면 기존 매핑 값을 증가시킨다.map.merge(key, 1, (count, incr) -> count + incr); 이 코드는 자바 8때 추가된 merge 메서드를 사용했다.- merge 메서드는 키, 값, 함수를 인수로 받으며, 주어진 키가 맵 안에 아직..
Collections.sort(words, (s1, s2) -> Integer.compare(s1.length(), s2.length())); 여기서 람다, 매개변수(s1, s2), 반환값의 타입은 각각 (Comparator), String, int지만 코드에서는 언급이 없다. 우리 대신 컴파일러가 문맥을 살펴 타입을 추론해준 것이다. 상황에 따라 컴파일러가 타입을 결정하지 못할 수도 있는데, 그럴 때는 프로그래머가 직접 명시해야 한다.타입 추론 규칙은 자바 언어 명세의 장(chapter) 하나를 통째로 차지할 만큼 복잡하다.너무 복잡해서 이 규칙을 다 이해하는 프로그래머는 거의 없고, 잘 알지 못한다 해도 상관없다.타입을 명시해야 코드가 더 명확할 때만 제외하고는, 람다의 모든 매개변수 타입은 생략하..
문제설명실수했던 부분은 한 줄당 2칸이 있으면 해당 줄은 누울 자리가 가능한 것으로 인지하고 다음 줄로 넘어갔었는데, X로 구분되어 있으면 한 줄에서 2번 누울 수도 있다는 것을 알게되었다. 무슨 말이냐면 아래 그림과 같이 X..X..X인 경우 2번 누울 수 있다는 것이다. 도움이 되도록 아래에 반례를 함께 첨부한다. 반례input:7X..X..X..............X..X..X..............X..X..Xanswer:10 10input:1.answer:0 0input:5..X....X..XXXXX..X....X..answer:8 8 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOExceptio..
1. Build and run using과 Run tests using이 Intellij IDEA로 되어 있는지 확인한다. 2. JDK 버전이 17버전 이상인지 확인한다.
데이터소스 - 자동 등록스프링 부트는 데이터소스(DataSource)를 스프링 빈에 자동으로 등록한다.자동으로 등록되는 스프링 빈 이름 : `dataSource`참고로 개발자가 직접 데이터소스를 빈으로 등록하면 스프링 부트는 데이터소스를 자동으로 등록하지 않는다.이때 스프링 부트는 다음과 같이 `application.properties`에 있는 속성을 사용해서 DataSource를 생성한다. 그리고 스프링 빈에 등록한다. spring.datasource.url=jdbc:h2:tcp://localhost/~/testspring.datasource.username=saspring.datasource.password=스프링 부트가 기본으로 생성하는 데이터소스는 커넥션풀을 제공하는 `Hikar..
문제설명값들을 모두 데리고 다니기 위해서 model을 활용하였고, 정렬은 Comparable을 활용해서 Collections.sort 시 기준을 정해준다. 정렬 기준은 year -> month -> day 순으로 정해주었다. 코드<pre id="code_1713963620685" class="java" data-ke-language="java" data-ke-ty..
문제 설명 Collections을 통해서 간단히 풀 수 있는 문제였다. 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedRea..