https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net import java.util.Scanner; import java.util.Stack; public class Q1935 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); char[] data = sc.next().toCharArray(); int arr..
문제) 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. 문제는 간단합니다. 가장 작은 수를 만들려면 A배열의 가장 작은 값을 B배열의 가장 큰 값에 곱하거나 A배열의 가장 큰 값을 B배열의 가장 작은 값이랑 곱한 것을 더하면 가장 작은 수가 만들어집니다. 핵심은 A or B 배열의 정렬 순서입니다. 어느쪽이든 오름차순, 내림차순은 상관없으..
JDBC 프로그래밍의 단점을 보완하는 스프링. https://dlagusgh1.tistory.com/274 MySQL, JDBC 연동 *자바, MYSQL 연동MySQL, JDBC 연동 1. JDBC 드라이버 다운로드 - https://mvnrepository.com/artifact/mysql/mysql-connector-java - 최신 버전 다운로드. - 다운로드 한 파일에서 .jar 파일만 따로 압출풀어서.. dlagusgh1.tistory.com 해당 블로그를 참고하시면 DB연동에 필요한 커넥션을 구하고 쿼리를 실행하기 위한 PreparedStatement를 생성하고 Exception 처리를 하는 등 데이터 처리와 상관 없는 코드도 구조적으로 반복된다. 이렇듯 구조적인 반복을 줄이기 위해 템플릿 메..
https://0307kjb.tistory.com/8 7장. 스프링 삼각형과 설정 정보 스프링을 이해하는 데 POJO(Plain Old Java Object)를 기반으로 스프링 삼각형이라는 애칭을 가진 IoC/DI, AOP, PSA라고 하는 스프링의 3대 프로그래밍 모델에 대한 이해가 필수입니다. 스프링프레임워크를 0307kjb.tistory.com AOP에 대해 간단 정리한 포스팅이니 참고용. AOP란? Aspect Oriented Programming의 약자로, 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. 즉 핵심 기능과 공통 기능의 구현을 분리함으로서 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용하게 하는 것이다. 기본개념은 핵심 기능에 공..
스프링 컨테이너는 초기화와 종료라는 라이프사이클을 갖는다. 컨테이너의 초기화 -> 빈 객체의 생성, 의존 주입, 초기화 컨테이너의 종료 -> 빈 객체의 소멸 스프링 컨테어니는 빈 객체의 이러한 라이프사이클을 관리하는데, 컨테이너가 관리하는 빈 객체의 라이프 사이클은, 객체생성 -> 의존 설정 -> 초기화 -> 소멸의 과정을 거친다. 스프링 컨테이너를 초기화할 때 스프링 컨테이너는 가장 먼저 빈 객체를 생성하고 의존 주입을 한다.(의존 자동 주입) 의존 설정이 모두 완료되면 빈 객체의 초기화를 수행한다. 이때 빈 객체를 초기화하기 위해 스프링은 빈 객체의 지정된 메서드를 호출한다. 마지막으로 스프링 컨테이너가 종료하면 스프링 컨테이너는 빈 객체의 소멸을 처리하는데 역시 메서드를 호출한다. 빈 객체의 초기화..
이번장에는 자동 주입과 하께 사용되는 추가 기능, 컴포턴트 스캔을 소개하겠다. 컴포넌트 스캔은 스프링이 직접 클래스를 검색해 빈으로 등록해주는 기능이다. 설정 클래스에 빈으로 등록하지 않아도 원하는 클래스를 빈으로 등록하는 어노테이션 컴포넌트만 붙이면 되기에 설정코드가 줄어드는 효과를 볼 수 있다. 그럼 어떻게 해야할까? 기존 설정 클래스에서 빈 객체를 만드는 메서드를 다지우고 빈 객체를 만드려는 클래스에 @Component만 붙이면 된다. 간단히 코드를 통해 알아보겠다. 오류가 나지않고 찍히는 것을 확인할 수 있다. 원래라면 Config 클래스에 A, B, C에 대한 빈 등록을 해야했으나 @Component 어노테이션을 이용한 A, B 클래스는 설정 클래스에 빈 등록을 피해 코드의 양을 줄일 수 있다...
앞서 @Autowired를 통해 의존 자동 주입을 하는 코드와 DI에 대해 알아보았다. 이번엔 실질적으로 @Autowired의 사용법을 자세히 다뤄보겠다. Config 클래스를 자세히 들어다보자. 이 클래스에선 의존 대상을 설정 코드에서 직접 주입한다. 이렇게 의존 대상을 설정 코드에 직접 주입하지 않고 스프링이 자동으로 의존하는 빈 객체를 주입하는 기능도 있다. 이를 자동 주입이라고 한다. 자동주입을 설정하려면 @Autowird 또는 @Resource 어노테이션을 사용하면 된다. 이 책에서는 @Autowird만 설명한다. 그럼 저 클래스를 어떻게 바꿔야 할까! 답은 간단하다. A 클래스는 변동사항이 없다. 바뀐 것은 Config , B 클래스이다. 자세히 살펴보면 Config 클래스에 b( )메서드에서..
- Total
- Today
- Yesterday
- https://jwprogramming.tistory.com/52
- https://wikidocs.net/68
- https://react.vlpt.us/
- https://react.vlpt.us/basic/11-render-array.html
- Co
- ㄴ
- https://velog.io/@juno7803/React%EA%B0%80-%ED%83%9C%EC%96%B4%EB%82%9C-%EB%B0%B0%EA%B2%BD
- https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |