본문 바로가기
반응형

분류 전체보기313

[Spring] 스프링(Spring)이란? 스프링을 이용한 웹 개발을 공부하기에 앞서 먼저 스프링에 대해서 공부 및 정리해보려고 한다. 스프링의 정의는 자바 엔터프라이즈 개발을 편하게 해주는 오픈 소스 경량급 애플리케이션 프레임워크이다. 따라서 스프링 프레임워크(Spring Framework)가 더 정확한 표현이다. 스프링의 주요 특징은 다음과 같다. 경량 컨테이너로서 자바 객체를 직접 관리, 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하여 스프링부터 필요한 객체를 얻어 올 수 있다. ​영속성과 관련된 다양한 서비스를 지원. IBATIS, Hibernate 등 이미 완성도가 놓은 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공한다. ​확장성이 높음. 스프링 프레임워크에 통합하기 위해 간단하게 기존 라이브러리를 감싸는 정도.. 2021. 8. 12.
백준 1300 : K번째 수 https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net [ 문제풀이 ] N이 최대 100000이기 때문에 모든 수를 구해서 정렬한다면 TLE가 발생할 것이다. 이를 현재 숫자가 key라고 할때, key 보다 작거나 같은 수가 k개 이상인지를 판단하는 결정 문제로 변환하여 파라메트릭 서치를 활용하면 해결할 수 있다. 이때 주의해야할 점은 구한 수가 key랑 같다고 끝내버리면 안 된다. 왜냐하면 현재 수인 key가 실제 존재.. 2021. 8. 12.
[프로그래머스 SQL] 헤비 유저가 소유한 장소 https://programmers.co.kr/learn/courses/30/lessons/77487 코딩테스트 연습 - 헤비 유저가 소유한 장소 PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 programmers.co.kr [ 문제풀이 ] GROUP BY 절과 HAVING 절을 활용할 수 있는지 묻는 문제이다. 이를 활용하여 헤비 유저의 HOST_ID를 추출한 후 기존의 테이블과 비교해 주면 된다. ​비교는 IN 함수를 사용해 주면 된다. IN 함수는 다른 SELECT 문도 활용할 수 있다는 장점이 있다. SELECT ID, NAME.. 2021. 8. 11.
[프로그래머스 SQL] DATETIME에서 DATE로 형 변환 https://programmers.co.kr/learn/courses/30/lessons/59414 코딩테스트 연습 - DATETIME에서 DATE로 형 변환 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr [ 문제풀이 ] DATE_FORMAT 함수를 사용할 수 있으면 간단하게 해결할 수 있는 문제이다. SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS '날짜' //%m과 %M.. 2021. 8. 11.
[프로그래머스 SQL] 오랜 기간 보호한 동물(2) https://programmers.co.kr/learn/courses/30/lessons/59411 코딩테스트 연습 - 오랜 기간 보호한 동물(2) ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr [ 문제풀이 ] 두 테이블을 JOIN 하여 시간 차이가 큰 튜플을 2개 뽑아주면 되는 문제이다. SELECT I.ANIMAL_ID, I.NAME FROM ANIMAL_INS AS I JOIN ANIMAL_OUTS AS O ON I.ANIMAL.. 2021. 8. 11.
[프로그래머스 SQL] 중성화 여부 https://programmers.co.kr/learn/courses/30/lessons/59409 코딩테스트 연습 - 중성화 여부 파악하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr [ 문제풀이 ] 조건문을 통해 원하는 컬럼을 처리를 할 수 있는지 묻는 문제이다. 조건문에 자주 사용하는 방법은 IF 문과 CASE WHEN 문이다. ​주의해야 할 점은 LIKE 함수는 OR 연산을 적용하지 않는다. 즉, IF 문에서 LIKE 함수를.. 2021. 8. 11.
[프로그래머스 SQL] 이름에 el이 들어가는 동물 찾기 https://programmers.co.kr/learn/courses/30/lessons/59047 코딩테스트 연습 - 이름에 el이 들어가는 동물 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr [ 문제풀이 ] 이 문제도 마찬가지로 간단한 문자열 처리를 할 수 있는지 묻는 문제이다. ​MySQL에서 LIKE 함수는 기본적으로 대소문자를 구별하지 않는다. 만약 대소문자를 구분하고 싶으면 비교할 컬럼에 BINARY() 함수를 사용해.. 2021. 8. 11.
[프로그래머스 SQL] 루시와 엘라 찾기 https://programmers.co.kr/learn/courses/30/lessons/59046 코딩테스트 연습 - 루시와 엘라 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr [ 문제풀이 ] 간단한 문자열 처리를 할 수 있는지 묻는 문제이다. 다양한 방법이 존재하지만 IN 연산자를 활용하여 해결하였다. ​IN 연산자는 OR 연산자와 비슷한 개념으로 () 안의 값들 중 하나 이상 만족하면 조건에 맞는 것으로 판단한다. SELE.. 2021. 8. 11.
[프로그래머스 SQL] 보호소에서 중성화한 동물 https://programmers.co.kr/learn/courses/30/lessons/59045#fn1 코딩테스트 연습 - 보호소에서 중성화한 동물 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr [ 문제풀이 ] 두 테이블이 주어졌을 때 JOIN을 활용하여 원하는 데이터를 추출할 수 있는지 묻는 문제이다. ​굉장히 많은 방법이 존재하지만 나는 정답이 가능한 테이블을 서브 쿼리를 통해 미리 추출한 후 JOIN을 하였다. ​내 계산 방.. 2021. 8. 11.
반응형