문제 RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자. 1번 집의 색은 2번 집의 색과 같지 않아야 한다. N번 집의 색은 N-1번 집의 색과 같지 않아야 한다. i(2 ≤ i ≤ N-1) 번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다. 입력 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다..
문제 RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자. 1번 집의 색은 2번 집의 색과 같지 않아야 한다. N번 집의 색은 N-1번 집의 색과 같지 않아야 한다. i(2 ≤ i ≤ N-1) 번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다. 입력 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다..
목차 출처: https://bpicolor.com/raster-vs-vector-images-the-important-differences/ 래스터 이미지와 벡터 이미지는 둘 다 이미지를 표현하는 방식이다. 사용하며 몸으로는 느꼈지만, 생각난 김에 둘의 차이를 제대로 정리하고 가기. Raster Image 래스터 이미지는 정사각형의 픽셀로 이루어진 이미지이다. 일반적으로 각 픽셀의 위치와 색상정보를 함께 담은 맵, 혹은 배열로 표현할 수 있으며, 비트(Bit)로 이루어진 지도(Map of Bits)라는 의미에서 비트맵(Bitmap), 혹은 픽스맵(Pixmap)이라고 불리기도 한다. 여기서 비트는 정해진 크기의 정사각형이기 때문에 이미지를 확대하면 픽셀의 크기가 커지며 일종의 깨짐 현상이 발생한다. 예를 ..
Java+Python으로 순열/조합/중복순열/중복조합 구현하기 [Java+Python]15649번, N과 M(1), 순열 [Java+Python]15650번, N과 M(2), 조합 [Java+Python]15651번, N과 M(3), 중복순열 [Java+Python]15652번, N과 M(4), 중복조합 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안 되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사..
문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. 출력 첫째 줄에 답을 출력한다. 풀이 기존의 동적계획법 문제에서 반 걸음 정도 더 나간 문제이다. 주어진 수열을 처음부터 더해가면서 가장 큰 연속합을 가지는 구간을 잘라내는 ..
문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. 출력 첫째 줄에 답을 출력한다. 풀이 기존의 동적계획법 문제에서 반 걸음 정도 더 나간 문제이다. 주어진 수열을 처음부터 더해가면서 가장 큰 연속합을 가지는 구간을 잘라내는 ..
목차 XSS, CSRF, SQL Injection은 웹 보안에서 가장 많이 발생하는 취약점들이다. 말을 바꾸면 좋지 않은 의도를 가진 사람이 해당 서비스나 서비스를 이용하는 사용자를 공격하는 방법들인데, 이 글에선 하나씩 개괄적으로 보고 그 방지책에 대해 알아본다. XSS(Cross-Site Scripting) XSS는 악성 스크립트를 삽입하여 해당 페이지를 요청하는 사용자의 브라우저에서 실행되도록 하는 방식이다. 이 공격은 주로 사용자의 개인정보가 담긴 쿠키나 세션을 하이재킹해 권한을 탈취하는 것을 목적으로 한다. 최악의 경우 탈취한 권한으로 사용자의 계좌에서 돈을 인출하는 상황도 발생할 수 있기 때문에, XSS는 최악의 보안 위협으로 간주되고 있다. 이를 방지하기 위해서는 입/출력 값의 스크립트 태그..
문제 아래 그림과 같이 삼각형이 나선 모양으로 놓여 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, N이 주어진다. (1 ≤ N ≤ 100) 출력 각 테스트 케이스마다 P(N)을 출력한다. 풀이 피보나치 수열을 살짝 응용한 버전이다. ..
문제 아래 그림과 같이 삼각형이 나선 모양으로 놓여 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, N이 주어진다. (1 ≤ N ≤ 100) 출력 각 테스트 케이스마다 P(N)을 출력한다. 풀이 피보나치 수열을 살짝 응용한 버전이다. ..
현재 진행 중인 프로젝트를 개발하면서, 젠킨스와 도커를 이용한 CI/CD를 구성해 보기로 했다. 항상 말하듯 자동배포는 설정이 90% 이상이라서 구성하는데 시간이 조금 걸리긴 했지만, 일단은 성공. 이 글에서는 개괄적인 파이프라인에 대해 알아보고 시간이 날 때마다 틈틈이 세부사항을 올려봐야겠다. 먼저 해당 파이프라인을 그림으로 그리면 아래와 같다. 오른쪽에 그려진 프론트엔드 부분을 제외하고, EC2에 서버가 자동배포 되기까지의 파이프라인을 요약한다. 그림에 그려진 두 개의 EC2 중 왼쪽을 젠킨스EC2, 오른쪽을 배포EC2라고 부른다. 코드 작성 및 변경사항 (GitHub에) 푸시. 이때 젠킨스EC2에서 실행 중인 젠킨스가 깃허브 웹훅을 이용해 변경사항을 감지하고 변경된 코드를 가져오는 것으로 파이프라인..
- Total
- Today
- Yesterday
- 세계여행
- RX100M5
- spring
- 지지
- a6000
- Algorithm
- 세계일주
- BOJ
- 면접 준비
- 중남미
- 맛집
- 칼이사
- 백준
- 파이썬
- 유럽
- 기술면접
- 자바
- Backjoon
- 알고리즘
- 세모
- Python
- 여행
- 남미
- 동적계획법
- 야경
- java
- 리스트
- 스트림
- 유럽여행
- 스프링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |