본문 바로가기
728x90

Java13

[Java]기본형 변수 크기 및 범위 https://www.acmicpc.net/problem/10986 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 10986. 나머지 합 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringT.. 2023. 6. 17.
[알고리즘개념]구간합 11659. 구간 합 구하기 4 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWr.. 2023. 6. 15.
[Java]BufferedReader, BufferedWriter 사용법 BufferedReader와 BufferedWriter은 Java에서 입출력에 사용되는 클래스로 입출력 스트림에 대해 버퍼링 기능을 제공한다. 이는 입출력을 빠르고 효율적으로 하기 위함인데, 왜 버퍼링이 추가되면 더 효율적이게 될까? 일반적으로 하드웨어나 입출력기기와의 통신은 시간이 오래 걸리는데, 데이터가 입출력될 때마다 통신이 이루어지면 비효율적이기 때문에 버퍼에 입출력을 쌓아서 한번에 해결하는 것이다. 여러 개의 짐을 먼 곳으로 옮길 때 하나씩 들어 옮기는 것 보다 모아서 옮기는 게 효율적인 것과 비슷한 개념이다. 예제 코드를 통해서 좀 더 자세히 알아본다. https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10.. 2023. 6. 14.
[Spring]Application Layer 퀴즈를 CRUD하고 문제를 풀 수 있는 어플리케이션 레이어를 구현한다. //QuizForm package com.example.quiz.form; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import javax.validation.constraints.NotBlank; @Data @NoArgsConstructor @AllArgsConstructor public class QuizForm { private Integer id; @NotBlank private String question; private Boolean answer; @NotBlank private String author; pr.. 2023. 5. 16.
[Spring]Service 비즈니스 로직을 처리하는 서비스 컴포넌트 구현 // QuizService package com.example.quiz.service; import com.example.quiz.entity.Quiz; import java.util.Optional; public interface QuizService { Iterable selectAll(); Optional selectOneRandomQuiz(); Boolean checkQuiz(Integer id, Boolean myAnswer); void insertQuiz(Quiz quiz); void updateQuiz(Quiz quiz); void deleteQuizById(Integer id); } package com.example.quiz.service; .. 2023. 5. 15.
[Spring]Application-CRUD 퀴즈 애플리케이션을 만들 때 레이어를 3개로 나누어 개발. 애플리케이션 레이어: 클라의 요청을 제어하고 도메인 레이어를 사용해 애플리케이션 제어 Controller: 요청을 처리에 매핑, 결과를 뷰에 넘김. 주요 처리는 도메인 레이어의 서비스를 호출 Form: 화면의 폼을 표현, 화면의 입력값을 컨트롤러에 넘기고 컨트롤러에서 화면을 출력할 때도 사용. View: 화면 표시 도메인 레이어: 도메인 객체에 대해 애플리케이션 서비스 처리 실행 Domain Object: 서비스 처리에 필요한 자원(Entity 등) Service: 애플리케이션의 서비스 처리 Repository: 인터페이스. 데이터베이스의 데이터 조작 내용 정의 인프라스트럭쳐 레이어: 도메인 객체에 대해 CRUD 조작을 통해 데이터의 영속화 담당.. 2023. 5. 12.
[Spring]Request Parameter/Validation Request Parameter request parameter로 속성을 담아서 /confirm url로 전송. 입력 부분을 Form으로 대체 가능 package com.example.demo.controller; import com.example.demo.form.Form; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind... 2023. 5. 11.
[Spring]Thymeleaf 문법, Layout Thymeleaf 문법 package com.example.demo.controller; import com.example.demo.entity.Member; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Controller public class ThymeleafController { @GetMapping("show.. 2023. 5. 10.
[Spring]JDBC/MVC Model JDBC ORM: Object/RDB Maper, 애플리케이션의 객체와 RDB의 데이터 매핑 스프링 데이터의 메서드를 상속해 사용 가능 application.properties에서 스프링 부트 프로젝트 환경 설정 // application.properties spring.datasource.driver-class0name=org.postgresql.Driver spring.datasource.url=jdbc:postgresql://localhost:5432/postgres spring.datasource.username=qwer spring.datasource.password=qwer 엔터티 생성 // ㅡ package entity; import lombok.AllArgsConstructor; impor.. 2023. 5. 9.
[Spring]DI/AOP 인터페이스 클래스에 포함하는 메서드의 구체적인 내용을 작성하지 않고 상수와 메서드 타입만 정의한 것. 다른 클래스에서 구현하는 것을 전제로 만들어짐 의존성 주입(DI) 의존하는 부분을 외부에서 주입하는 것(Dependency Injection) '사용하는 객체' 클래스에서 '사용되는 객체' 클래스에 의존하거나 인터페이스에 의존할 수 있음. 스프링에서는 DI 컨테이너가 임의의 클래스를 인스턴스로 생성해 클래스에 주입 인터페이스를 이용해 의존성을 만듦 - 인스턴스를 명시적으로 생성(new)하지 않음 - 어노테이션을 클래스에 부여 - 스프링이 인스턴스 생성(시작 시 모든 패키지를 스캔하는 컴포넌트 스캔을 통해) - 인스턴스를 이용하는 곳에 어노테이션 부여(@Autowired) 인스턴스 생성 어노테이션: @Co.. 2023. 5. 4.
[백준]230403-09 문제풀이(Java) 10809. 알파벳 찾기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int[] arr = new int[26]; for(int i = 0; i < arr.length; i++) { arr[i] = -1; } String S = in.nextLine(); for(int i = 0; i < S.length(); i++) { char ch = S.charAt(i); if(arr[ch - 'a'] == -1) { arr[ch - 'a'] = i; } } for(int val : arr) { System.out.print(val + " .. 2023. 4. 9.
[백준]230403 문제풀이 10171. 고양이 public class Main { public static void main(String[] args) { System.out.println("\\ /\\"); System.out.println(" ) ( \')"); System.out.println("( / )"); System.out.println(" \\(__)|"); } } 첫 자바 코드 제출기념! 패키지 제외, 메인 클래스는 포함해서 제출한다 2023. 4. 3.
[Java]변수와 자료형 초기 환경 설정 프로젝트 - 패키지 - 클래스 순으로 생성 package java230107; public class study { public static void main(String[] args) { // print System.out.println("Hello Java"); } } 변수 선언 package java230107; public class study { public static void main(String[] args) { int level; level = 10; System.out.println(level); } } 변수 선언 시에는 자료형을 앞에 붙여준다. 선언 후 값을 대입해주는 과정이 없으면 에러가 발생한다. 자료형이 다른 정수 연산 package java230107; publ.. 2023. 1. 7.
728x90