포스팅
-
백준 14890 경사로 (Python)알고리즘 2023.10.10 11:36
크기가 N * N 인 지도에서 각 행과 열마다 길을 놓을 수 있을 때 조건에 맞게 만들 수 있는 길의 개수를 구하는 문제입니다. 길이 완성되는 조건은 다음과 같습니다. 길을 지나갈 수 있으려면 길에 속한 모든 칸의 높이가 같아야 합니다. 높이가 차이나는 길은 경사로를 놓아서 길을 만들 수 있습니다. (경사로의 높이는 항상 1입니다.) 경사로는 낮은 칸에 놓으며, L개의 연속된 칸에 경사로의 바닥이 모두 접해야합니다. 낮은 칸과 높은 칸의 높이 차이는 무조건 1이어야 합니다. 경사로를 놓을 칸의 높이는 모두 같아야 하고, L개의 칸이 연속되어 있어야 합니다. 경사로를 놓을 수 없는 조건은 다음과 같습니다. 경사로를 놓은 곳에 또 경사로를 놓는 경우 낮은 칸과 높은 칸의 높이 차이가 1이 아닌 경우 낮은 지..
-
백준 17251번 힘 겨루기알고리즘 2023.03.06 10:42
문제 설명 이번 문제는 N명의 참가자들을 나열하고 기준선을 통해 팀이 나눈 다음 각 팀에서 가장 힘쎈 사람이 나왔을 때, 둘 중 더 힘 쎈 사람이 이기게 됩니다. N 명의 참가자의 힘을 나타내는 정수가 주어질 때, 이길 확률이 더 높은 팀을 구하는 문제입니다. 문제 풀이 아이디어 가장 힘 쎈 팀 구하는 방법 기준선이 어디에 있는지에 상관없이 항상 가장 힘이 갖아 쎈 사람이 있는 팀이 이기게 됩니다. 가장 힘이 쎈 사람이 한 명일 경우 가장 힘이 쎈 사람의 인덱스를 i라하면, 기준선이 1~i-1일 경우 블루팀이 이기고, i~N-1일 경우 레드팀이 이기게 됩니다. 여기서 두 팀이 이길 확률을 구해보면, 블루팀은 (i-1)/N이고 레드팀은 (N-i)/N입니다. 그러므로 두 팀 중 이길 확률이 높은 팀은 i-1..
-
Nginx Load balancing, 도커 컨테이너 실습인프라 2022.12.08 12:45
실습 내용 ip주소의 80번 포트로 들어오는 요청을 내부 3000번, 3001번, 3002번 포트로 분산시켜 주도록 하겠습니다. 컨테이너의 내부 포트는 3000포트를 개방시키고 외부 포트는 각각 3000, 3001, 3002포트와 연결시켜 줍니다. Upstream Nginx의 upstream을 이용해 요청에 대한 분배를 해줄 수 있도록 해보겠습니다. 선언 위치 /etc/nginx/sites-enabled/ 내에 새로운 파일을 만들어줍니다. (nginx.config의 http{ ... } 안에 includes /etc/nginx/sites-enabled/* 구문이 있는지 확인하고 없으면 추가해줍니다.) ☼새로운 파일을 생성하지 않고 기존에 존재하는 nginx.config 파일 내에 선언해줘도 괜찮습니다! ..