분류 전체보기

    백준 / python / 1327. 소트 게임

    https://www.acmicpc.net/problem/1327 문제 요약 수의 배열에 대해 K 개의 연속한 숫자를 역순으로 만드는 연산을 수행할 수 있을때, 최소 몇 번의 연산을 거치면 수가 오름차순으로 배열되는지 구하라 풀이 요약 1. bfs 로 가능한 모든 가능성을 탐색하면서 이미 탐색한 경우 건너뛴다. 2. queue 에 지금의 숫자 배열과 함께 그 배열이 나오기까지 몇 번의 연산을 수행했는지 기록한다. 3. pop 했을때 나온 숫자 배열이 오름차순인 경우, 그 숫자 배열과 함께 저장된 연산 횟수를 출력한다. 주의사항 1. 메모리 초과를 신경써야한다. 특히 visited[next] = True 를 q.append() 직후에 해야한다. 그렇게 해야 중복된 값이 다시 큐에 들어가지 않아서 큐의 크기..

    백준 / python / 1245. 농장 관리

    https://www.acmicpc.net/problem/1245 문제 요약 지도가 주어졌을 때, 산봉우리의 수를 구하라. 풀이 요약 1. 한 점에서 실행하면 그 주변 지형을 체크하고 같은 높이면 큐에 넣고 낮은 높이면 visited 에 체크하고 높은 높이면 산봉우리 flag 를 False 로 만드는 bfs 함수를 만든다. 2. bfs 가 끝나기 직전, 산봉우리 flag 가 True 면 카운트를 하나 올린다. 3. 맵의 한 칸씩 bfs 를 실행한다. 주의사항 산봉우리가 서로 연결될 수 있기 때문에 단일 bfs 로 만들려고 시도할 경우 많이 어렵다. 이렇게 모든 지점에 대해 bfs 를 호출하면서 기존에 bfs 로 체크한 지점은 pass 하는 방식으로 하면 쉽다. import sys from collecti..

    백준 / python / 1240. 노드 사이의 거리

    https://www.acmicpc.net/problem/1240 문제 요약 트리가 주어졌을 때 두 노드 사이의 거리를 구하라. 풀이 요약 1. 노드 A가 연결된 노드와 둘 사이의 거리를 distances[A] 배열에 추가한다. 2. 시작 노드를 큐에 담는다. 3. 큐를 pop 하여 bfs 로 탐색한다. 4. 다음 노드와 누적 거리로 구성된 튜플을 큐에 담는다. 5. 3~4를 반복한다. 6. 찾던 노드를 찾으면 누적 거리를 print 한다. 주의사항 트리인데 그래프처럼 2차 배열로 거리를 저장하게되면 노드수가 많을 때 비효율적이고 시간내에 못 푼다.. import sys from collections import deque input = sys.stdin.readline N, M = map(int, in..

    RDS 와 Elasticache

    AWS 에서 DB 를 사용하고 싶을 때, EC2 에 MySQL 과 같은 서비스를 직접 올릴 수도 있겠지만, AWS 에서 관리하는 RDS(Relational Database Service) 나 DynamoDB 등을 이용할 수 있다. 그리고 RDS 를 위한 Cache 로 Elesticache 를 사용할 수 있다. RDS RDS 는 "managed" service 라서 provisioning, patching, backup 등을 AWS 에서 기본적으로 관리한다. 대신 SSH 연결은 할 수 없다. PostgreSQL, MySQL, MSSQL, Oracle, Aurora 를 사용할 수 있다. Storage Auto Scaling Maximum Storage Threshold 를 정해두고 자동으로 storage 를..

    AWS 자격증 재응시 무료

    https://korea.pearsonvue.com/aws/retake?trk=e92f067e-778f-43e8-9b14-fd3e42ba9537&sc_channel=em&mkt_tok=MTEyLVRaTS03NjYAAAGJZo4x7NJs5Kw-lMdN5o1PYXtMoRtJRRCk5pak82rCuQXEIqXnfD0yxDkGraZ0zgjawTgo74Kyu5113YKGtrid6NY2h5yK1KCLMrikGnlr734640CnDtt6

    ELB 와 ASG (작성중)

    ELB(Elastic Load Balancer) 와 ASG(Auto Scaling Group) 각각 Load 를 분산하고 Scale In/Out 을 하기 위한 AWS Service 다. ELB LB(Load Balacer) 는 Traffic 을 다른 Server 들로 Forward 하는 Server 다. ELB 의 TG(Target Group) 이 '다른 Server 들' 에 해당한다. TG 는 EC2, ECS, IP(private), Lambda, ALB 가 될 수 있다. TG 에는 Health Check(HC) 기능이 있어서 특정 port 와 path 에 대한 HTTP(S) 응답을 기반으로 해당 EC2에 Traffic 을 줄지 말지 결정한다. AWS 에서 제공하는 LB 인 ELB 는 4가지 종류가 있..

    백준 / python / 1005. ACM Craft

    https://www.acmicpc.net/problem/1005 문제 요약 게임을 하는데 거기서 짓고싶은 건물이 하나 있다. 그러나 각 건물을 짓기 전에 선행하여 건설되어야하는 건물들이 있을 수 있다. 각 건물의 건설 선후행 관계와 건물을 짓는데에 소요되는 시간이 주어질 때 가장 빠르게 원하는 건물을 짓는 경우의 총 소요 시간을 구하라. 풀이 요약 1. 부모 건물 수 가 0 인 건물을 queue 에 넣는다. 2. queue 에서 건물 (A) 을 꺼낸다. 3. A 의 자녀 건물(B)들을 순환하며 candidate_delay 에 A 의 delay 를 입력한다. 4. B 의 parent_num 을 1 줄인다. 5. parent_num 이 0 이되면 candidate_delay 중 최댓값을 B 의 delay ..

    EBS 와 EFS

    AWS 에서 EC2 를 띄울때 저장공간인 Elastic Block Storage (EBS), Elastic File System (EFS) 를 설정하게 된다. EBS EBS 는 한 인스턴스에만 붙을 수 있으며 한 인스턴스에 여러 EBS 가 붙을 수는 있다. AZ 에 Bound 되어 있으며 Root Volume 은 기본적으로 EC2 삭제시 함께 삭제되도록 세팅되어있다. 일종의 Network 기반의 USB 로 생각하면 쉽다. 이런 EBS 말고 실제 인스턴스가 존재하는 하드웨어의 저장공간 (Instance Store) 을 사용 할 수 있는데 IO 이 EBS 보다 훨씬 높으나 재부팅 시 파일이 없어진다. EBS Types EBS Type 으로는 gp2, gp3 / io1, io2 / st1, sc1 가 있다. ..

    EC2 기초

    Elastic Cloud Compute (EC2) 는 사용자가 용도에 맞게 그 성능과 세팅을 조절할 수 있는 클라우드 컴퓨팅 서비스이다. OS, CPU, RAM, Storage, Firewall, Network Card, Bootstrap Script (User Data) 까지 선택이 가능하다. OS 는 Amazon Machine Image (AMI) 형태로 만들어진 Linux, Window, Mac 을 선택할 수 있다. User data 라는 입력란이 있는데 Root 권한으로 첫 부팅시 실행될 Script 를 작성할 수 있다. CPU, RAM, Network Throughput 을 6가지 기능에 특화된 세팅으로 제공한다. (링크) General Purpose Compute Optimized Memory..

    Cloud 기본과 IAM

    Cloud 는 컴퓨팅 자원을 local (on-premiss) 이 아닌, 컴퓨팅 자원 대여업을 하는 다른 3자에게서 빌려 쓰는 것을 말한다. AWS 는 이런 컴퓨팅 자원을 Region, Available Zone (AZ) 단위로 나눠서 서비스한다. 세계 각 지역에 Data Center 의 집합인 Available Zone 이 있고 Available Zone 이 모여 Region 을 구성한다. 또 CloudFront 라는 CDN 서비스를 위한 Low latency network 로 Edge Location 이 있다. 서비스는 Global Service 와 Regional Service 로 나뉘는데 IAM, Route53, CloudFront, WAF 등이 Global Service 이고 EC2, Lambd..