전체 글692 [백준][C++/Python] 1912번: 연속합 (253) 직접 풀어보고 올리는 코드입니다. 지적이나 더 좋은 방향에 대한 댓글은 항상 환영합니다. https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 생각의 흐름 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 일단 처음에 보고 딱 DP를 생각하지는 않았다. 다만 input값이 100000 까지라는 점이 매우 거슬렸다. 나또한 맨처음에는 2중 for문 도는 방법이 생각났지만, 그러면 100000,00000 O(n^2) 까지라는 소리인데.. Algorithm/백준 2022. 10. 12. [백준][C++/Python] 14002번: 가장 긴 증가하는 부분수열 4 (252) 직접 풀어보고 올리는 코드입니다. 지적이나 더 좋은 방향에 대한 댓글은 항상 환영합니다. https://www.acmicpc.net/problem/14002 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 생각의 흐름 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 이번 문제의 핵심은 역추적을 어떤 방식으로 진행할것이지? 이다. 우선 점화식을 세워보면, DP[i]는 A[1] ... A[i]까지 수열.. Algorithm/백준 2022. 10. 11. [Docker] Multi-stage build(멀티스테이지 빌드) 애플리케이션 개발 시에 개발 환경에서 사용한 라이브러리나 개발 지원 툴이 제품 환경에서 반드시 사용되는 것은 아니며, 제품 환경에는 애플리케이션을 실행하기 위해 최소한으로 필요한 실행 모듈만 배치하는 것이 컴퓨팅 리소스를 효율적으로 활용할 수 있다는 점에서 보안 관점으로 볼 때 바람직합니다. 이럴때 멀티스테이지 빌드를 사용하게 됩니다. 1. 멀티스테이지 빌드란? 컨테이너 이미지를 만들면서 빌드할때는 필요하지만, 최종 컨테이너 이미지에는 필요 없는 환경을 제거할 수 있도록 단계를 나누어 기반 이미지를 만드는 방법 위의 그림처럼 컨테이너 RUN PHASE에는 빌드에 사용한 파일 및 디렉토리과 같은 의존 파일들이 모두 삭제된 상태로 컨테이너가 실행되게 됩니다. 이를 Dockerfile을 통해 확인하면 다음과 .. DevOps/Docker 2022. 10. 11. [백준][C++/Python] 1655번: 가운데를 말해요 (251) 직접 풀어보고 올리는 코드입니다. 지적이나 더 좋은 방향에 대한 댓글은 항상 환영합니다. https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 생각의 흐름 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 사실 다행이도 문제를 보자마다 Heap이 가장 먼저 떠올랐다. 각각 최소힙과, 최대힙 을 사용하여 잘 처리하면 될것같은데? 라는 생각을 하였다. 우선 짝수, 홀수 순서로 나누어 삽입연산을 진행한다. 숫.. Algorithm/백준 2022. 10. 10. [AWS] ECS를 통한 컨테이너 배포 with Docker hub 이번 글에서는 Amazon의 ECS를 사용해보고 정리하게 될 것이다. 1. ECS 기본 ECS는 4가지 범주로 나뉠 수 있습니다. 1) 클러스터 2) 컨테이너 3) 태스크 4) 서비스 1 - 1) 컨테이너 이 중에서 컨테이너부터 정의해보도록 하겠습니다! 우선 custom 컨테이너를 하나 정의해봅시다. 여기서는 "docker run"을 실행하는 방법에 대하여 정의하게 됩니다. 만약 local 환경이었다면 다음과 같이 명령을 전달했을 것입니다. docker run --name node-demo -p 80:80 이를 컨테이너 편집 창에서 작성하면 다음과 같습니다. (참고로 이미 도커 허브에 배포하고 싶은 이미지를 public으로 업로드한 상태입니다!) 컨테이너 이름을 설정하고, 이미지 주소에는 docker h.. DevOps/AWS 2022. 10. 9. [DB] 물리적 저장 장치 시스템 데이터베이스 시스템 7판을 읽으며 간략하게나마 정리하는 글입니다. 1. 물리적 저장 장치 매체 개요 컴퓨터 시스템에는 여러 유형의 데이터 저장 장치가 존재한다. 이러한 저장 장치 매체를 데이터에 접근하는 속도, 해당 매체를 구매하기 위해 드는 데이터 단위당 비용, 그리고 매체의 신뢰성에 따라 분류할 수 있다. - 캐시(Cache) 캐시는 저장 장치 중에 가장 빠르고 비싸다. 캐시 메모리는 크기가 상대적으로 작으며, 컴퓨터 시스템 하드웨어가 캐시의 사용을 관리한다. 데이터베이스 시스템의 질의 처리 데이터 구조와 알고리즘을 설계하는 데 캐시 효과를 고려하는 것은 의미가 있다. - 메인 메모리(Main Memory) 연산에 사용할 데이터를 저장하기 위한 저장 장치이다. 범용의 기계어가 메모리에서 동작한다. 메.. CS/DB (2022-1) 2022. 10. 9. [DB] E-R 모델을 사용한 데이터베이스 설계 데이터베이스 시스템 7판을 읽으며 간략하게나마 정리하는 글입니다. 1. 개체 관계 모델 개체-관계(E-R) 데이터 모델(entity-relationship data model)은 데이터베이스의 전체 논리 구조를 나타내는 조직의 schema를 명시함으로써 데이터베이스 설계를 쉽게 하도록 개발되었다. 1 - 1) 개체 집합 개체(entity)는 실세계에서 다른 모든 객체와 구별되는 유무형의 사물이다. 예를 들어 대학교에서 각 개인은 하나의 개체다. 개체는 속성의 집합을 가지며, 속정 중 일부 집합은 개체를 고유하게 구별하기도 한다. 개인은 그 사람을 유일하게 구별해주는 person_id라는 속성을 가질 수 도 있다. 개체 집합(entity set)은 같은 속성을 공유하는 같은 유형의 개체의 집합이다. 또한 .. CS/DB (2022-1) 2022. 10. 6. [DB] 고급 SQL 데이터베이스 시스템 7판을 읽으며 간략하게나마 정리하는 글입니다. 1. 함수와 프로시저 프로시저와 함수는 "비즈니스 로직, 규칙"이 데이터베이스에 저장되고 SQL 구문이 실행되도록 해 준다. 이러한 비즈니스 로직을 데이터베이스 외부보다는 , 내부에 저장하면 장점을 가진다. 예를 들면, 응용프로그램의 변경없이 비즈니스 규칙이 변경되는 경우에 단지 그 변경만 허용할 수 있다. 응용프로그램 코드가 데이터베이스의 릴레이션에 직접적으로 변경하는 대신에 프로시저를 호출할 수도 있다. 1 - 1) SQL 함수 및 프로시저의 선언과 호출 학과 이름을 받아서, 그 학과 교수의 수를 반환하는 함수를 생각해보자! 예를 들어 다음과 같이 12명 이상의 교수를 가진 모든 학과의 이름과 예산을 반환하는 SQL문은 다음과 같을 것.. CS/DB (2022-1) 2022. 10. 4. [Docker] 유틸리티 컨테이너 유틸리티 컨테이너는 사실 공식용어는 아니라고 합니다. 원래는 애플리케이션 자체를 컨테이너에 담아 실행시켰다면, 유틸리티 컨테이너는 특정 환경만 포함하는 컨테이너를 의미합니다. 1. 유틸리티 컨테이너 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 예를 들어 local 환경에 node가 설치돼있지 않다면 애플리케이션을 실행할 수 있을까요? 또한 node는 pacakage.json을 통해 종속성 관리를 하는데, 보통 npm init 같은 명령어를 통해 초기화하여 사용합니다. 하지만 우리의 환경에 node.js가 설치되있지 않다면 어떻게 사용할까요? 이런 경우 유틸리티 컨테이너를 통해서 실행환경만 이용하면 된다! ▶ -it -d 우선 몇가지 명령어에 대하여 살펴봅시다. dock.. DevOps/Docker 2022. 10. 1. [DB] 중급 SQL - 2 데이터베이스 시스템 7판을 읽으며 간략하게나마 정리하는 글입니다. 5. SQL의 데이터 타입과 스키마 5 - 1) 타입 변환 및 서식 함수 일부 데이터 타입 변환(Conversion)을 자동으로 수행하지만, 몇몇 시스템들은 명시해줘야 하는 경우도 있다. case(e as t) 위와 같이 사용하면 e를 t타입으로 변환할 수 있다. 예를 들어 특정 연산 수행이나, 정렬 순서를 강제하기 위해 타입변환을 하기도 하는데, varchar(5)로 지정된 ID 속성을 생각해보자. ID 11111 이 ID 9 앞에 오는데, 이는 첫번째 문자 '1'이 '9'보다 앞에 오기 떄문이다. 따라서 다음과 같이 타입 변환하여 작성하면 원하는 순서대로 출력되게 된다. SELECT CAST(ID as numeric(5)) as ins.. CS/DB (2022-1) 2022. 9. 30. [프로그래머스][C++] 다단계 칫솔 판매 (250) 직접 풀어보고 올리는 코드입니다. 지적이나 더 좋은 방향에 대한 댓글은 항상 환영합니다. https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 생각의 흐름 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 우선 2가지 코드를 설명할건데, 처음 풀이는 내가 잘못 풀었던 방식이다. 1) 잘못 푼 방식 (테스트 3, 6 번만 통과) 처음 생각한 방식은 center(ROOT)를 기준으로 DFS를 진행하면 되겠다고 생각하였다. .. Algorithm/프로그래머스 2022. 9. 30. [Docker] 도커 컴포즈 (Docker Compose) 이번 글 에서는 도커 컴포즈를 통해 좀더 편리하게 컨테이너를 관리해보자! 1. Docker Compose " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 도커 컴포즈는 여러 명령어들을 모아둔 자동화 설정의 명령집합(Orchestration) 입니다. 하나의 명령 집합을 통해 모든 컨테이너를 실행할 수도, 멈출수도 있는거죠!~ 도커 컴포즈가 Dockerfile을 대신하는 것 은 아니며, 이미지나 컨테이너를 대체하는 것 또한 아닙니다. 또한 여러 host가 있는 상황보다는 단일 host 상황에서 여러 컨테이너를 관리할때 도커 컴포즈가 유용합니다. 기본적으로 터미널 상에서 run, build를 할때 옵션으로 주던 모든 명령을 도커 컴포즈를 통해서 사용할 수 있습니다. 1 - 1.. DevOps/Docker 2022. 9. 29. 이전 1 ··· 8 9 10 11 12 13 14 ··· 58 다음