본문 바로가기

분류 전체보기

(82)
[JAVA]프로그래머스_짝지어 제거하기 문제 : https://programmers.co.kr/learn/courses/30/lessons/12973 문제유형 : 구현 풀이방식 : 스택 문자열의 길이 : 1,000,000이하의 자연수 이기때문에 for문을 사용하게되면 시간초과가 나온다. 소스코드 import java.util.*; class Solution { public int solution(String s) { int answer = -1; int sLength = s.length(); Stack stack = new Stack(); stack.push(s.charAt(0)); for(int i=1; i
Spring과 Spring Boot의 차이 스프링 vs 스프링부트 스프링? 개발자들의 겨울은 끝났다. [Spring Boot공식문서] Spring Boot makes it easy 쉽게 만든다 to create stand-alone 단독적인 production-gradle 상용화 수준의 Spring based Applications 스프링 기반 애플리케이션 that you can "just run" 차이 1. dependency spring boot 훨씬 짧아졌다. 버전 관리도 권장 버전으로 자동 설정 starter 알아서 의존성 걸려있는거 넣어줌! 심지어 gradle을 쓰면 더 짧아진다. 차이 2. configuration 환경설정 spring 너무 길다 spring boot : application.properties, application...
Chapter 3. 스프링 DI 스프링 입문5 3장 1. 의존이란? 객체 간의 의존을 의미한다. 한 클래스가 다른 클래스의 메서드를 실행할 때 이를 '의존'한다고 표현 의존은 변경에 의해 영향을 받는관계를 의미한다. 2. DI를 통한 의존 처리 DI(Dependecy Injection, 의존 주입)는 의존하는 객체를 직접 생성하는 대신 의존 객체를 전달받는 방식을 사용한다. 예를들어, 아래 코드는 생성자를 통해 MemberRegisterService가 의존(Dependency)하고 있는 MemberDao 객체를 주입(Injection) 받은 것이다. package chap03.spring; import java.time.LocalDateTime; /** * */ public class MemberRegisterService { priv..
Chapter 2. 스프링 컨테이너, 싱글톤 객체 스프링 입문5 2장 스프링 객체 컨테이너 스프링의 핵심 기능은 객체를 생성하고 초기화 하는 것 ApplicationContext 인터페이스에 정의되어 있다. AnnotationConfigApplicationContext 클래스는 ApplicationContext 인터페이스를 알맞게 구현한 클래스 중 하나이다. 자바 클래스에서 정보를 읽어와 객체 생성과 초기화를 수행한다. ApplicationContext(또는 BeanFactory)는 빈 객체의 생성, 초기화, 보관 ,제거 등을 관리하고 있어서 컨테이너(Container)라고도 부른다. 내부적으로 빈 객체와 빈 이름을 연결하는 정보를 갖는다. BeanFactory 객체 생성과 검색에 대한 기능을 정의한 인터페이스 생성된 객체를 검색하는데 필요한 getBe..
Chapter 1. 들어가며 스프링 입문5 1장 스프링이란? 스프링은 스프링 프레임워크를 말한다. 주요 특징 의존 주입(Dependency Injection) 지원 AOP(Aspect-Oriented Programming) 지원 MVC 웹프레임워크 제공 JDBC, JPA 연동, 선언적 트랜잭션 처리 등 DB 연동 지원 스케줄링, 메시지 연동(JMS), 이메일 발송, 테스트 지원 등 자바 기반의 어플리케이션을 개발하는데 필요한 다양한 기능 제공. 스프링 관련 프로젝트 1. 스프링 데이터 적은 양의 코드로 데이터 연동을 처리할 수 있도록 도와주는 프레임워크이다. JPA, 몽고DB, 레디스 등 다양한 저장소 기술을 지원한다. 2. 스프링 시큐리티 인증/인가와 관련된 프레임워크로서 웹 접근 제어, 객체 접근 제어, DB.오픈ID.LDAP ..
[JAVA]프로그래머스_스킬트리 문제: programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr 문제 유형 : 시뮬레이션, 구현 풀이 방식 처음 문제 풀때 간단하게 생각하여 생각없이 코드를 구현했음을 반성합니다. 1. 리스트 : skill 의 알파벳을 하나씩 다 담아놓는다. 2. 스킬트리에서 skill에 존재하는 알파벳으로만 changedStr을 만든다. 3. changedStr을 인덱스에 맞게 strArr에 넣어준다. 4. strArr[i]가 skill 문자에 포함되어있으면 첫번째부터 스킬이 찍혔나 확인해준다. 소스코드 package Programmers; import java.util.ArrayList; import java.util.List..
[JAVA]프로그래머스_프린터 문제 : programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 문제 유형 : 구현 풀이방식 : 큐를 이용하여 구현 소스코드 package Programmers; import java.util.Iterator; import java.util.LinkedList; import java.util.Queue; public class 프린터 { public static void main(String[] args) { //int[] prior..
[JAVA]백준_1003_피보나치함수 문제 : www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 유형 : dp 풀이방식 : 재귀로 풀때 시간초과 -> dp 메모이제이션 통과 피보나치 0 일땐 1 0 출력 (0 한개 1 X) 피보나치 1 일땐 0 1 출력 (0 X 1 한개) arr[x][0] = 숫자x일때 0의 개수 arr[x][1] = 숫자x일때 1의 개수 bottom-up 방식 : arr[i][0] = arr[i-1][0]+arr[i-2][0]; arr[i][1] = arr[i-1][1]+arr[i-2][1]; 소스코드 package BOJ; import java.util.Scanner..