본문 바로가기

전체 글

(162)
AWS Certified Cloud Practitioner 모듈 2 - EC2 유형 Amazon EC2란?Amazon EC2는 AWS에서 제공하는 가상 서버 서비스이다.필요한 만큼 서버(=인스턴스)를 클라우드에서 빌려서 사용할 수 있다.온프레미스와 EC2의 차이온프레미스EC2 (클라우드 방식)서버를 미리 구매해야 함클릭 몇 번이면 서버 생성 가능서버 배송 기다려야 함몇 분이면 실행됨물리적 공간 필요필요 없음 (AWS가 관리)서버 유지비용 계속 발생쓸 때만 요금 발생 (중지하면 과금 안 됨) 즉, EC2는 필요한 순간에만 쓰고, 그만 쓰면 비용도 멈춘다. → 유연하고, 빠르고, 싸다Amazon EC2 작동 방식 (3단계 요약)1. 시작 (Start)인스턴스를 만들고 설정함운영체제(OS), 애플리케이션, 템플릿, 인스턴스 유형 선택보안 설정도 함께 구성함 (예: 방화벽, 포트 허용)예시: ..
AWS Certified Cloud Practitioner 모듈1 - 클라우드 컴퓨팅 클라우드 컴퓨팅 정의인터넷을 통해 서버, 스토리지, 데이터베이스 등 IT 자원을 필요할 때마다 빌려서 쓰는 서비스1. 클라우드 기반 배포 (Cloud-based deployment)정의모든 애플리케이션과 리소스를 AWS 같은 퍼블릭 클라우드에 구축인터넷을 통해 서버, 스토리지, DB를 빌려서 사용함특징인프라 설치/운영 필요 없음클릭 몇 번으로 서버 생성, 확장 가능기존 시스템을 클라우드로 마이그레이션하거나, 새로 클라우드에서 설계 가능예시스타트업이 EC2, S3, RDS로 처음부터 앱을 만들고 운영2. 온프레미스 배포 (On-premises deployment)정의회사가 직접 서버, 스토리지, DB를 구매/설치/운영하는 방식자체 데이터 센터에서 모든 시스템 실행특징클라우드를 사용하지 않음가상화 + 리소스..
섹션 9 Greedy - 5. 다익스트라 알고리즘 문제 설명가중치 방향 그래프에서 1번 정점에서 출발하여 각 정점까지의 최소 거리 비용을 구하는 문제입니다.경로가 존재하지 않는 정점은 "impossible"로 출력합니다.입력 & 출력입력첫 줄: 정점의 수 N (1 ≤ N ≤ 20), 간선의 수 M다음 M줄: a b c → a번 정점에서 b번 정점으로 가는 간선의 비용은 c출력1번 정점에서 출발해 각 정점까지 가는 최소 거리 출력경로가 없으면 "impossible" 출력입력 예시6 91 2 121 3 42 1 22 3 52 5 53 4 54 2 24 5 56 4 5출력 예시2 : 113 : 44 : 95 : 146 : impossible해결 방법다익스트라 알고리즘은 가중치가 양수인 그래프에서 최단 경로를 구할 때 사용하는 대표적인 알고리즘입니다.Prior..
섹션 9 Greedy - 4. 최대 수입 스케쥴(PriorityQueue 응용문제) 문제 설명현수는 유명한 강연자이다.총 N개의 기업으로부터 강연 요청이 들어왔다.각 기업은 강연을 요청할 때, D일 이내에 와서 강연을 해 주면 M만큼의 강연료를 주기로 약속했다.현수는 하루에 하나의 기업에서만 강연을 할 수 있다.이때 최대 수입이 되도록 강연 일정을 구성하려 한다.입력 & 출력입력첫째 줄에 강연 요청 수 N(1 ≤ N ≤ 10,000)이 주어진다.다음 줄부터 M D가 한 줄씩 주어지며, 총 N줄이 입력된다.M: 강연료D: 마감 기한일 (D일 이내에 강연 가능)출력현수가 얻을 수 있는 최대 수입을 출력한다.예시 입력 650 220 140 260 330 330 1예시 출력 150해결 방법이 문제는 그리디 + 우선순위 큐(PriorityQueue) 를 활용하는 전형적인 스케줄링 문제입니다.마감..
섹션 9 Greedy - 3. 결혼식 문제 설명현수는 3일 동안 피로연을 열 예정이다.친구 N명의 도착 시간과 퇴장 시간이 주어진다.현수는 동시에 피로연장에 가장 많이 모이는 인원 수를 알고 싶어 한다.한 사람이 13시에 도착해서 15시에 떠난다면13시는 포함, 15시는 포함하지 않음즉, [13, 15) 구간에 해당입력 & 출력입력514 1812 1515 2020 305 14 출력2해결 방법이 문제는 전형적인 "이벤트 정렬 후 스위핑(sweep line)" 문제다.모든 도착/퇴장 이벤트를 하나의 리스트에 저장시간순 정렬한 뒤에, 순서대로 이벤트를 보며 현재 인원 수를 누적 계산최대 인원이 나타난 시점을 찾아낸다단, 같은 시각에 도착과 퇴장이 겹치면퇴장을 먼저 처리해야 정확한 인원이 계산된다.전체 코드import java.util.*;clas..
섹션 9 Greedy - 2. 회의실 배정 문제 설명한 회의실에서 여러 회의를 하려고 한다.각 회의는 시작시간과 종료시간이 주어지고,겹치지 않게 최대한 많은 회의를 배정하려고 한다.단, 끝나는 시간과 동시에 다음 회의 시작 가능중간 중단 불가입력 & 출력입력51 42 33 54 65 7 출력3해결 방법빨리 끝나는 회의를 우선 배정하면 다음 회의에 더 많은 기회 확보 가능따라서 종료 시간 기준으로 오름차순 정렬종료 시간이 같다면 시작 시간이 빠른 순으로 정렬각 회의마다 직전 회의의 종료 시간 이후에 시작하면 배정코드 구현import java.util.*;class Meeting implements Comparable { int start, end; Meeting(int start, int end) { this.start = start; thi..
섹션 9 Greedy - 1. 씨름 선수 문제 설명N명의 지원자가 있고, 각자 키, 몸무게를 가지고 있다.한 지원자가 다른 지원자에 비해 키와 몸무게 모두 작으면 탈락한다.이 조건을 만족하며 선발할 수 있는 최대 인원 수를 구하라.입력 & 출력입력5172 67183 65180 70170 72181 60 출력3해결 전략키 내림차순으로 정렬몸무게는 순서대로 비교하며 지금까지 본 몸무게 최대값보다 크면 선발키와 몸무게 모두 큰 경우만 제외되므로, 키 정렬 + 몸무게만 비교하면 O(N)에 해결 가능코드 구현import java.util.*;class Body implements Comparable { int h, w; Body(int h, int w) { this.h = h; this.w = w; } @Override public int compa..
섹션 8 DFS, BFS - 14. 피자 배달 거리(삼성 SW역량평가 기출문제 : DFS활용) 문제 설명N×N 크기의 도시 지도에는 다음과 같은 정보가 주어진다:0: 빈칸1: 집2: 피자집도시의 각 집은 여러 피자집 중 가장 가까운 피자집을 선택해 피자 배달을 받는다.피자 배달 거리는 |x1 - x2| + |y1 - y2| 로 계산한다.도시의 전체 피자 배달 거리는 각 집의 배달 거리의 총합이다.도시에는 피자집이 여러 개 있지만, M개만 남기고 나머지는 폐업하려 한다.M개의 피자집을 골랐을 때, 도시의 피자 배달 거리의 최소값을 구하라.입력 & 출력입력첫째 줄: N(2 ≤ N ≤ 50)과 M(1 ≤ M ≤ 12)다음 N줄: 도시 정보 (0, 1, 2로 구성된 N×N 정수)출력도시의 최소 피자 배달 거리예시 입력4 40 1 2 01 0 2 10 2 1 22 0 1 2 예시 출력6해결 방법피자집들 중..