본문 바로가기

전체 글

(83)
[1주차] 백준 2309번 : 일곱 난쟁이 출처 :  https://www.acmicpc.net/problem/2309  📌 문제 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다.아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다.아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오 📌 입력 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아..
[1주차] 순열(permutation)과 조합(combination) - 최종 정리 📌 순열과 조합 Pseudo Code변수 선언 : n = 5 , k = 3 // 전체 원소 개수와 선택할 원소 개수호출 :  permutation(0), combi(0,0,result) // permutation(depth) , combi(start,depth,result)  순열 : 1) 기저 사례 : 깊이와 선택하려는 원소가 같다면 => if(depth == k) 1-2) 출력 시 k 만큼만 출력해야 되므로 => for(int i = 0; i 2) depth부터 배열의 길이 n 번만큼 반복 => for(int i = depth; i 2-1)  i 번째 요소와 depth 번쨰 요소를 교환 => swap(a[i], a[depth])2-2) 재귀 함수 호출 => permutate(depth + 1) 2-..
[0주차] 순열(permutation)과 조합(combination) - 조합편 📌  조합이란? 순서의 고려 없이 단순하게 선택만 하는 경우의 수, n 명중의 r명을 뽑기만 하는 방법의 수를 의미한다.   4C2를 구하는 공식은 순열을 구하는 공식보다는 조금 어렵다. 아이러니하게도 조합을 구하기 위해서는 순열을 먼저 구한 후, 제거시키면 된다. (저질러놓고 취소하는 방식) 즉 4C2 = 4P2/2!  이 된다.  📌 C++ 재귀함수에서의  조합 C++ 라이브러리에는 순열을 위한 라이브러리와 함수가 준비되어있지만 아쉽게도 조합을 위한 것은 준비되어 있지 않다. 순열과 마찬가지로 조합 또한 재귀 함수로 구현할 수 있고, 중첩 for문을 통해 구현도 가능하다. 코드는 다음과 같다.   1) 호출: combi(0, 0, [])start = 0, depth = 0, result = []반..
[0주차] 순열(permutation)과 조합(combination) - 순열편 📌 순열과 조합 순열(permutation)이란 ? n 명중의 r명을 뽑아서 줄세우는 방법의 수를 의미한다.     조합(combination)이란 ? 순서의 고려 없이 단순하게 선택만 하는 경우의 수, n 명중의 r명을 뽑기만 하는 방법의 수를 의미한다. ​​  4C2를 구하는 공식은 순열을 구하는 공식보다는 조금 어렵다. 아이러니하게도 조합을 구하기 위해서는 순열을 먼저 구한 후, 제거시키면 된다. (저질러놓고 취소하는 방식) 즉 4C2 = 4P2/2!  이 된다.   순열을 먼저 구한 후, 팩토리얼로 나누면 조합의 수를 구할 수 있다.    📌 C++ 에서의 순열 next_permutation(from,to) / prev_permutation(from,to) C++ 에서는 순열을 구하는 함수가 ..
[aws] AWS CAA-C03 솔루션 아키텍트 합격 후기 / 250 번대 이후 문제 공유 1. 시험 장소 / 준비물 / 시험 결과 필자는 학동역 부근에 에티버스라는 한 학원에서 응시하였다. 학원 내부에 휴게 공간이 있어 입실 전까지 여유롭게 음료를 마시며 기다릴 수 있었다.시험은 컴퓨터로 보게되니 신분증 본인 명의 카드 한 장만 준비하면 된다. 입실은 시험 시작 15분 전이고 한국인이면 30분 추가 시간을 더 받을 수 있다.(시험 응시 때 별도 신청 해야함... 근데 시간 남음 필자는 1시간 남기고 나왔다. 덤프 많이 풀면 시험시간이 부족할 일은 절대 없 ) 시험 문제들이 내가 틀렸던 위주로 너무 많이 나와서 응시당시에 놀랐다.오답노트를 한 덕분에 무난무난하게 합격한 것 같다. 그러니 이 글을 보는 준비하시는 분들은 1회독 해보고 오답노트 해보기를 권장한다. 메일을 수시로 쫄리는 마음으로 확..
[aws] ECS와 EKS 📌 ECS(Elastic Container Service) Amazon ECS(Amazon Elastic Container Service)는  AWS에서 제공하는 컨테이너 오케스트레이션 서비스로 EKS에 비해 설정 및 운영이 비교적 간단하며, AWS와의 통합이 원활하다. ECS는  배포 옵션으로 Fargate(서버리스)와 EC2 인스턴스를 통해 컨테이너를 실행할 수 있는데, EC2 클러스터로 배포한 경우 인프라를 직접 프로비저닝하고 유지해야 한다. 이 때 EC2 클러스터의 인스턴스들은 각각 ECS 에이전트 실행을 통해 ECS 서비스와 연결된다. 이후 ECS 태스크(하나 이상의 컨테이너를 실행하는 단위)를 통해서 AWS가 컨테이너를 시작하거나 멈추며 새 도커 컨테이너가 생기면 이미지와 같이 시간에 따라 ..
[aws] Kinesis 📌 Kinesis Kinesis를 활용하면 실시간 스트리밍 데이터를 손쉽게 수집하고 처리하여 분석할 수 있다. 실시간 데이터에는 애플리케이션 로그, 계측, 웹사이트 클릭 스트림, IoT, 원격 측정 데이터 등 어떤 것도 포함될 수 있다. 데이터가 빠르게 실시간으로 생성된다면 모두 실시간 데이터 스트림으로 간주할 수 있다. Kinesis는 데이터 스트림을 수집하여 처리하고 저장하는 Kinesis Data Stream, 데이터 스트림을 AWS 내부나 외부의 데이터 저장소로 읽어들이는 Kinesis Data Firehouse, SQL 언어나 Apache Flink를 활용하여 데이터 스트림을 분석하는 Kinesis Data Analytics, 비디오 스트림을 수집하고 처리하여 저장하는 Kinesis Video..
[aws] SQS와 SNS 📌 SQS  sqs의 핵심은 대기열이다. 메시지를 담기 위해서는 무언가 SQS 대기열에 메시지를 전송해야 하는데 SQS 대기열에 메시지를 보내는 주체를 생산자라고 한다. SQS 대기열에 메세지를 보내는 주체를 생산자라 하고 생산자는 여러 개 일 수 있으며 여러 생산자가 여러 개의 메세지를 SQS 대기열에 보내게 할 수 있다. 대기열에서는 메세지를 처리하고 수신해야 하는 대상을 소비자라고 할 때 소비자는 대기열에서 메시지를 폴링하는데 이는 대기열에게 소비자 앞으로 온 메세지가 있는지를 물어보는 것이다. 만일 대기열에 메세지가 있으면 소비자는 이 메세지를 폴링해서 정보를 얻는다. 그리고 그 메세지로 처리를 하고 대기열에서 그 메세지를 삭제한다. 여러 소비자가 SQS 대기열에서 메세지를 소비할 수 있도록 할..