본문 바로가기

분류 전체보기

(224)
[BOJ 28703] Double It 우선순위 큐 문제 https://www.acmicpc.net/problem/28703 [문제 설명] 구해야 하는 답이 매 순간마다의 최댓값과 최솟값의 차이고, 가능한 연산은 2를 곱해주는 것밖에 없으므로 어렵지 않게 최소 우선순위 큐를 떠올릴 수 있을 겁니다. 그러나 이 문제가 어려워 보이는 이유는 2를 곱하는 연산에 대해 횟수 제한이 없기 때문입니다. A의 원소들에 대해 적절히 2를 곱해주는 작업을 얼마나 해야 차가 최소가 되는지 직관적으로 알 수 없기 때문에 어려워 보입니다. 배열 A의 최솟값이 $m$, 최댓값이 $M$, $M - m$을 $r$이라고 하겠습니다. A의 모든 원소에 2를 곱해보겠습니다. 최솟값은 $2m$, 최댓값은 $2M$이 되고, 차를 구하면 $2(M-m) = 2r$이 됩니다. A의 ..
[BOJ 28218] 격자 게임 게임 이론 문제 https://www.acmicpc.net/problem/28218 [문제 풀이] 문제를 요약하자면 두 사람이 번갈아 가면서 특정 칸부터 (N, M)까지 오른쪽으로 한 칸씩, 아래로 한 칸씩, 혹은 대각선으로 K칸을 이동하는 게임을 할 때, 첫 번째로 이동하는 사람이 이길 수 있는지 묻는 문제입니다. 특정 칸에서 시작해서 무조건 이길 수 있는지 확인하는 것은 상당히 머리가 아픕니다. 생각을 달리 해볼 필요가 있습니다. 직관적으로 떠올릴 수 있도록 위해 예시를 들겠습니다. N = 6, M = 8, K = 3이고 막힌 칸이 없는 보드를 예시로 보겠습니다. 동그라미가 있는 위치에서 (N, M)으로 이동할 때 누가 이길지 직관적으로 떠올리기는 매우 어렵습니다. 하지만 해당 위치에서 (N, M)으..
[Git] 특정 커밋 삭제하기 (rebase) 23년 7월 14일, 동아리 부회장님한테 카톡이 왔다. 학습용 깃허브 상태가 이상하다고 한다. 내 커밋(커밋 메시지 3492)이 모든 사람들에게 적용되어 있었다. 복구해 보자. 우선 제일 먼저 git pull [repos] [branch] 명령어로 최신화부터 해주자. 그리고 복구하는 동안 최신화가 더 이상 되지 않도록 기도해야 한다. git log 명령어를 입력하여 커밋 로그를 확인한다. 그동안의 기록들을 볼 수 있다. 아무 키나 입력하면 이전 기록들을 더 볼 수 있고 스페이스바를 입력하면 한 번에 많이 넘길 수 있다. 나가고 싶으면 q를 누르면 된다. 문제의 커밋. 5월 28일. 무려 2달 전 기록이다. 왜 그런지는 모르겠지만 내가 한 커밋이 두 개나 들어있었다. 문득 생각해 보니 저 날 푸시가 안 돼..
[주간일기챌린지] 주간일기 4주차 첫 주의 시작은 학식과 함께. 주간일기를 쓰면서 느낀 점은 항상 월요일은 2학을 먹는 날이었다. 물론 다른 날이라고 예외는 없다. 브런치빈 위례점 이번 주는 평일에 한 게 없어서 벌써 토요일 점심 사진이다. 충격적인 사실. 가격표가 디지털이었다. 강남 교보타워 ASC OT에 참가하기 위해 왔다. 지각할 뻔해서 뛰어 가느라 사진이 없어서 인터넷 사진으로 대체한다. 근데 참가인원 1/3 정도가 지각해서 시작시간이 15분 지연됐다. 그냥 걸어갈걸. 교보타워 10층 당근마켓 사옥 ASC 캡틴 중에 당근 직원이 있어서 장소를 대여해준 것 같다. 나도 장소 대여해주는 멋진 대기업 입사해야지. 역시 대기업답게 간식도 제공해준다. 야미 목 막히지 말라고 음료수도 준다. 역시 대기업 요즘 유행한다는 콤부차를 골랐다. 차..
[ASC 1기] 5주차 - Storage [이론] S3: 클라우드가 탑재된 보조기억장치 (like 구글 드라이브) 주로 이미지를 저장할 때 S3를 많이 이용한다. 일반적 데이터는 DB에 저장하지만 이미지를 저장하기에는 적합하지 않음. DB에 이미지의 주소를 저장하고 S3에는 이미지를 넣는 것. (엔드 포인트: 객체 접근 가능 주소) 용량에 대한 제한이 없다고 생각해도 된다. 사용량별로 요금이 나간다. S3는 리전별로 다른 서비스이지만, 주소는 글로벌 단위로 겹치면 안된다. (세계 유일) 실제로 개발에 사용하는 드라이브라서 파일 저장에 대한 관리 가능. (자주 사용되거나, 자주 쓰지는 않는데 오래 갖고 있어야 하는 것들 등을 자동으로 분리해서 관리해주는 서비스도 있다. (ex. 자주 접근을 안하면 속도가 느린 버킷에 넣거나..)) IAM은 AWS..
[ASC 1기] 5주차 준비 - 리스너, 규칙 [ALB의 구성 요소] 리스너 규칙(rule) 대상 그룹(Target Group) 사용자의 요청이 들어왔을 때의 과정 사용자의 요청 → ALB → 리스너 → 규칙을 기반으로 특정 대상 그룹에 요청을 넘김. (ex. 이번주 과제에서 로드 밸런서의 DNS를 타고 들어가면 위의 과정을 실행하게 됨) [리스너] Applicaion Load Balancer의 리스너는 7계층(Applicaion)의 프로토콜(HTTP, HTTPS)에 해당하는 요청을 받아들인다. 또한 HTTP 요청 메시지에 딸려오는 정보들을 이용하여 규칙에 의해 라우팅을 하게 된다. default 포트 번호는 HTTP는 80, HTTPS는 443이고, 다른 포트 번호를 사용하는 리스너를 생성할 수도 있다. 이번 과제 중 리스너? 다음과 같이 80번을..
[ASC 1기] 4주차 - Auto Scaling Group, Load Balancing [이론] auto scaling group: 해당 그룹 내에 존재하는 인스턴스의 양을 조절하여 필요한 양의 트래픽만 처리할 수 있도록 함. c최대, 최소, 현재 얼마나 띄울 것인지 설정 가능. elastic load balancer: 여러 인스턴스에 대해 트래픽을 공평하게 나눠주는 장치. auto scaling group에 속한 인스턴스들이 처리하는 트래픽의 balance를 맞춰준다. 그렇기 때문에 auto scaling group과 같이 쓴다. 탄력적 ip: 불변성을 띄는 ip. 기존 인스턴스가 갖는 ip주소는 재시작 시에 주소가 바뀌는 가변적인 ip주소이다. 가변적인 ip주소는 DNS에 ip주소를 할당한 경우 문제가 발생할 수 있기 때문에 탄력적 ip를 사용한다. 다만, 탄력적 ip를 받고 방치한다면..
[ASC 1기] 4주차 준비 - 네트워크, Transit Gateway 복습 [리전] 물리적으로 구분된 호스팅 영역. 거리가 멀면 당연히 통신 속도도 느려지기 때문에 여기저기에 데이터 센터를 구축한다면 속도를 향상시킬 수 있고, 여러 개의 데이터 센터가 존재하기 때문에 안정적이다. ※ 리전은 서로 독립적이다. [가용영역 (AZ)] 리전보다 더 작은 단위. 실제로 존재하는 데이터 센터를 의미한다. 서울 리전에는 4개의 AZ가 존재한다. 1개 리전은 최소 두개 이상의 AZ로 구성된다고 한다. [VPC] 네트워크를 독립된 가상의 네트워크로 구성하는 것. VPC는 서로 독립적이므로 VPC간 통신은 피어링을 통해 이루어질 수 있다. [Subnet] 네트워크를 쪼개는 개념. AWS에서는 VPC를 통해 독립된 가상의 네트워크를 분할하여 서브넷을 구성한다. private, public을 ..