728x90
반응형

전체 글 552

데이터 베이스 - 데이터 모델링

▶ 데이터 모델링과 데이터 모델의 개념- 데이터 모델링 : 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터 베이스로 옮기는 변환 과정 - 추상화 : 현실 세계에 존재하는 것을 데이터 베이스에 저장하기 위해 관리할 만한 가치가 있는 중요 데이터만 찾는 과정. → 추상화 과정을 통해 찾아낸 데이터를 데이터베이스에 저장해야 되는데, 이 때 결정할 문제가 하나 더 있다. 바로 데이터베이스에 저장하는 구조이다. → 이와 같은 과정을 진행하기 위해 중요한 데이터를 찾아 개념 세계로 옮기는 단계와 이를 컴퓨터 세계에 저장하는 구조를 결정해서 표현하는 단계로 나누어 진행한다. - 개념적 모델링 : 현실 세계 물체에 대한 중요 데이터를 추출하여 개념 세계로 옮기는 작업 - 논리적 모델링 : 개념 세계의 데이터를 데이..

자격증/SQLD 2023.03.07

Trie - ex) BOJ - 14725번 : 개미굴

문자열 관련 문제를 풀 때 C++의 경우 또는 을 사용 및 응용하여 대부분의 문제를 해결할 수 있다. 하지만 트라이 자료구조 또한 필수로 알아야한다. 트라이는 문자열을 효율적으로 처리하기 위한 트리 자료구조이다. 특히 "접두사"와 같은 단어가 문제에 등장하면 트라이를 우선 떠올려도 괜찮을 듯 하다. 트라이란, 트라이(Trie) : 문자열을 효율적으로 처리하기 위한 트리 자료구조 단어 S를 삽입/탐색/삭제할 때 모두 O(|S|) (|S|는 문자열 S의 길이) 문자열을 그냥 배열에 저장하는 것보다 최대 4 x 글자의 종류배 만큼 더 사용 (예를 들어 각 단어가 알파벳 대문자로만 구성되어 있을 경우(글자의 종류 = 26) 따라서 104배) 이론적인 시간복잡도와는 별개로 실제로는 트라이가 해시, 이진 검색 트리..

Algorithm 2023.02.28

SQL - 날짜 관련 함수

https://school.programmers.co.kr/learn/courses/30/lessons/59412?language=mysql 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ..

SQL - SELECT : 여러 가지 조건 처리

https://school.programmers.co.kr/learn/courses/30/lessons/131120?language=mysql 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음은 식당 리뷰 사이트의 회원 정보를 담은 MEMBER_PROFILE 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니다. Column nameTypeNullable MEMBER_ID..

SQL - SELECT : LIKE, NULL 대체

https://school.programmers.co.kr/learn/courses/30/lessons/131112 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ▶ LIKE를 이용한 검색 검색 조건을 부분적으로만 알고 있다면 LIKE 키워드를 이용해 검색할 수 있다. 검색 조건을 정확히 알면 = 연산자로 조건을 표현하면 되지만 부분적으로만 알고 있다면 = 대신 LIKE 키워드를 사용한다. 단, LIKE 키워드는 문자열을 이용하는 조건에만 사용할 수 있다. LIKE 키워드와 함께 사용할 수 있는 대표 기호는 아래와 같다. 기호 설명 % 0개 이상의 문자 ..

[C/C++] 백준 - 11437번 : LCA

https://www.acmicpc.net/problem/11437 11437번: LCA 첫째 줄에 노드의 개수 N이 주어지고, 다음 N-1개 줄에는 트리 상에서 연결된 두 정점이 주어진다. 그 다음 줄에는 가장 가까운 공통 조상을 알고싶은 쌍의 개수 M이 주어지고, 다음 M개 줄에는 정 www.acmicpc.net 문제 N(2 ≤ N ≤ 50,000)개의 정점으로 이루어진 트리가 주어진다. 트리의 각 정점은 1번부터 N번까지 번호가 매겨져 있으며, 루트는 1번이다. 두 노드의 쌍 M(1 ≤ M ≤ 10,000)개가 주어졌을 때, 두 노드의 가장 가까운 공통 조상이 몇 번인지 출력한다. 입력 첫째 줄에 노드의 개수 N이 주어지고, 다음 N-1개 줄에는 트리 상에서 연결된 두 정점이 주어진다. 그 다음 줄..

BOJ/트리 2023.02.18

[C/C++] 백준 - 14284번 : 간선 이어가기2 (다익스트라)

https://www.acmicpc.net/problem/14284 14284번: 간선 이어가기 2 정점 n개, 0개의 간선으로 이루어진 무방향 그래프가 주어진다. 그리고 m개의 가중치 간선의 정보가 있는 간선리스트가 주어진다. 간선리스트에 있는 간선 하나씩 그래프에 추가해 나갈 것이다. www.acmicpc.net 문제 정점 n개, 0개의 간선으로 이루어진 무방향 그래프가 주어진다. 그리고 m개의 가중치 간선의 정보가 있는 간선리스트가 주어진다. 간선리스트에 있는 간선 하나씩 그래프에 추가해 나갈 것이다. 이때, 특정 정점 s와 t가 연결이 되는 시점에서 간선 추가를 멈출 것이다. 연결이란 두 정점이 간선을 통해 방문 가능한 것을 말한다. s와 t가 연결이 되는 시점의 간선의 가중치의 합이 최소가 되게..

컨테이너 인프라 환경

고전적인 인프라 환경은 엔지니어가 개발 환경을 만들어 제공하면 사용자(주로 개발자)는 그에 맞는 도구를 모두 설치해야 했던 온프레미스(on-premises) 환경은 이제 고전적인 인프라 환경이 되었다. 이제는 돈을 넣으면 자판기에서 미리 준비된 상품이 나오듯 이미 구성된 환경을 사용자가 필요에 따라 선택하고 조합해서 사용할 수 있게 제공되는 서버로서의 인프라 환경(IaaS, Infrastructure as a Service)이 되었다. 인프라 환경이 빠르게 갖춰지는 만큼 소프트웨어도 빠르게 개발하고 적용되길 고대했다. 그래서 대두된 개발 방법론이 애자일(agile) 방법론이다. 기존 개발 방법론인 폭포수(waterfall) 방법론은 계획 단계에서 설계와 환경을 완전히 구비한 후 예정된 목표를 달성해 나가..

Infra 2023.02.06

[C/C++] 백준 - 2740번 : 행렬 곱셈

https://www.acmicpc.net/problem/2740 2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net 문제 N*M크기의 행렬 A와 M*K크기의 행렬 B가 주어졌을 때, 두 행렬을 곱하는 프로그램을 작성하시오. 입력 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개가 차례대로 주어진다. N과 M, 그리고 K는 100보다 ..

BOJ/수학 2023.02.05

[스프링의 이해와 원리] 2.2 테스트

▶ 스프링의 테스트 적용 지난 게시글에서 정리했듯이, JUnit은 독립적인 테스트를 지원하기 위해 매 번 새로운 애플리케이션 컨텍스트 오브젝트를 만들게 했다. 따라서 @Before 메소드가 테스트 메소드 개수만큼 반복되기 때문에 애플리케이션 컨텍스트도 그 개수만큼 생성된다. 설정도 간단하고 빈도 몇 개 없는 경우에는 별 문제가 되지 않지만, 빈이 많아지고 복잡해지면 애플리케이션 컨텍스트 생성에 적지 않은 시간이 걸릴 수 있다. 애플리케이션 컨텍스트가 만들어질 때는 모든 싱글톤 빈 프로젝트를 초기화한다. 어떤 빈은 오브젝트가 생성될 때 자체적인 초기화 작업을 진행해서 제법 많은 시간을 필요로 할 수 있다. 또, 애플리케이션 컨텍스트가 초기화될 때 어떤 빈은 독자적으로 많은 리소스를 할당하거나 독립적인 스레..

728x90
반응형