전체 글

전체 글

    구현/시뮬레이션) 17822.원판 돌리기

    https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net #second. # 탐색 알고리즘 : # 각 칸의 오른쪽과 아래쪽과 비교하여 같은 지 확인한다. # check 배열로 같으면 True 로 하여, 탐색 중 원본 a를 안전하게 지킨다. from collections import deque n,m,t = map(int,input().split()) a=[None] dx=[-1,0,1,0] dy=[0,-1,0,1] for i in ran..

    DP) 11057.오르막 수

    문제 : https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net 규칙 수의 자리가 오름차순을 이루는 수 인접한 수가 같아도 오름차순으로 친다. 수는 0으로 시작할 수 있다. 목표 첫째 줄에 길이가 N인 오르막 수의 개수를 10,007로 나눈 나머지를 출력한다. Solution d[i][j] = 길이가 i이고 마지막 수가 j인 오르막수의 개수 점화식 : d[i][j] = ∑d[i-1][k] ( 0

    DP) 1309.동물원

    문제 : 1309. 동물원 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net 규칙 가로로 두 칸, 세로로 N칸인 동물원이 있다. 사자를 가로, 세로로 붙어 있게 배치하면 안된다. 목표 동물원에 사자를 배치하는 가능한 모든 경우의 수는? Solution d[n][m] : 세로로 n칸인 우리에 배치할 때, n번째 줄은 m번 방법으로 배치하는 경우의 수 m : 3개의 방법 중 하나. 1) d[n][0] : n번 줄에 배치하지 않음 2) d[n][1] : n번 줄의 왼쪽에 배치함 3) d[n][2] : n번 줄의 오른쪽에 배치함 점화식 1) d[n][0] = d[n-1][0] + d[n-1][1] + d[n-1][2] 2) d[n][1] = d[n-1..

    DP) 1149.RGB 거리

    문제 1149. RGB 거리 [1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net](https://www.acmicpc.net/problem/1149) 규칙 집을 빨강, 파랑, 초록 중 하나로 칠한다. 모든 이웃은 같은 색으로 칠할 수 없다. 집 i의 이웃은 i-1, i+1 이고, 첫 집과 마지막 집은 이웃이 아니다. 목표 각 집을 각 색으로 칠하는 비용이 주어질 때, 모든 집을 칠하는 비용의 최솟값을 구하라. Solution a[i][j] : i번 집을 j번 색으로 칠하는 비용 d[i][j..

    Github Actions + CodeDeploy + Nginx 로 무중단 배포하기

    Github Actions, CodeDeploy, Nginx를 사용해 하나의 서버에서 최소 규모의 무중단 배포를 진행. 아래 3개의 가이드 및 교재를 활용했다. 이 글의 목적은 3개의 참고 자료들에서 실제 서비스에서 구현할 때 어떤 부분을 사용해야 하는 지, 어떤 부분이 중요하므로 유의해야 하는 지, 그리고 어떤 부분에서 에러가 날 수 있으므로 유의해야 하는 지를 기록하기 위함이다. 들어가기에 앞서, 이미지 등을 일일이 복사하기에는 시간이 부족하여, 책에 있는 내용을 모두 옮겨적지는 못하고 페이지로 해당 내용을 가리킬 수 있음에 양해를 구한다. 웹사이트 1. Github Actions + CodeDeploy + Nginx 로 무중단 배포하기 (1) Github Actions + CodeDeploy + N..

    인덱스

    인덱스(index)란? 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조이다. 데이터베이스에서도 테이블의 모든 데이터를 검색하면 시간이 오래 걸리기 때문에 데이터와 데이터의 위치를 포함한 자료구조를 생성하여 빠르게 조회할 수 있도록 돕고 있다. 인덱스를 활용하면, 데이터를 조회하는 SELECT 외에도 UPDATE, DELETE의 성능이 함께 향상된다. 만약 index를 사용하지 않은 컬럼을 조회해야 하는 상황이라면 전체를 탐색하는 Full Scan을 수행해야 한다. Full Scan은 전체를 비교하여 탐색하기 때문에 처리 속도가 떨어진다. 특정 컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터들을 정력하여 별도의메모리 공간에 데이터의물리적 주소와 ..