▶ BufferedReader, StringTokenizer, StringBuilder를 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 문제 설명에서도 나왔듯이 Scanner와 for문 안에서 System.out.println()을 사용하면 시간초과가 납니다. 그렇기 때문에 BufferedReader를 사용해야 합니다. 먼저 BufferedReader 클래스를 선언해 주고, InputStreamReader를 사용하여 객체를 만들어줍니다. 각 피스의 개수를 입력받아 token 변수에 저장해 주고, 각 문자열을 더해줄 StringBuilder 클래스의 sb변수를 초기화해 줍니다. StringTokenizer 클래스도 선언해 주고 for문안에서 입력을 받아 공백을 기준으로 ..
분류 전체보기
Stream API를 사용하기 위해서는 먼저 Stream을 생성해주어야 합니다. 이번 포스팅에서는 Java 8에서 추가된 스트림(Stream) 사용법에 대해 알아보겠습니다. Stream생성하기 ❕Stream을 생성하기 위해서는 다음과 같은 방법이 있습니다.배열, 컬렉션, 빈스트림Stream.builder() , 람다식(Stream.generate()) , 람다식(Stream.iterate())기본타입형 , String , 파일스트림병렬스트림, 스트림연결하기배열 Stream 생성String[] arr = new String[]{"A", "B", "C"};Stream stream = Arrays.stream(arr);Stream streamOfArrayPart = Arrays.stream(arr, 1, 3)..
Java 8에서 추가된 스트림(Stream)은 컬렉션에 있는 요소(List, Map, Set)들을 더 편리하게 가공하고 처리하도록 해주는 반복자입니다. 배열이나 컬렉션에 저장되어 있는 데이터를 접근할 때 이전에는 반복문(for)이나 iterator를 사용하여 접근을 했습니다. 기존 for문 사용String str = "12345"; int[] digits = new int[str.length()]; for(int i=0; i 그러나 이러한 접근은 코드도 길고, 정형화되어있는 패턴이 없기 때문에 캐스팅을 해주거나 데이터마다 각각 다른 접근을 해야만 했습니다. Stream 사용String str = "12345"; int[] digits = Stream.of(str..
문제설명다음은 어느 자동차 대여 회사의 자동차 대여 기록 정보를 담은 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블입니다. CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블은 아래와 같은 구조로 되어있으며, HISTORY_ID, CAR_ID, START_DATE, END_DATE는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시작일, 대여 종료일을 나타냅니다. 문제CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬명: RECORDS) 리스트를 출력하는 SQL문을 작성해 주..