로드 밸런서란? 만약 트래픽을 감당하는 서버가 하나일때, 대량의 트래픽이 발생할 경우, 부하를 감당하지 못할 수 있다. 이 경우 하나의 서버가 아닌 2개 이상의 서버를 두고 트래픽을 분산시켜서 서버를 감당하도록 할 수 있다. 이때 로드 밸런서는 각 서버로 트래픽을 분산시키는 역할을 한다. 로드 밸런서는 클라이언트와 서버의 사이에 위치하여 하나의 서버에 트래픽이 집중되지 않도록 제어하여 서버의 성능을 최대한 사용한다. 로드밸런싱 알고리즘의 종류 Round Robin - 들어온 Request를 차례대로 서버에 분산 처리 Weigthed Round Robin - 각 서버에 가중치를 두고 가중치가 높은 서버(EX. 서버의 성능이 높을경우 가중치를 높게 설정)에 Request를 우선적 으로 배분 Least Con..
programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr #include #include using namespace std; vector solution(vector array, vector commands) { vector tmp; vector answer; int data; for (int i = 0; i < commands.size(); i++) { for (int j = commands[i][0] - 1; j
programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr #include #include #include #include using namespace std; vector solution(vector record) { vector answer; unordered_map idmap; for (vector::iterator it = record.begin(); it != record.end(); ++it) { stringstream s..
programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr #include #include #include #include using namespace std; bool check(vector scoville, int K) { for (int i = 0; i < scoville.size(); i++) { if (scoville[i] < K) { return false; } } return true; } int soluti..
programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이 programmers.co.kr #include #include #include using namespace std; int solution(int bridge_length, int weight, vector truck_weights) { int time = 0, total_weight = 0, entered = 0, cCount = 0; queue info; while (1) { time+..
programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr #include #include using namespace std; vector solution(vector prices) { vector answer; for (int i = 0; i < prices.size(); i++) { int count = 0; for (int j = i + 1; j < prices.size(); j++) ..
programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 첫번째 풀이 배열 내 한 원소를 기준으로 다른 원소와의 계산을 위하여 2중반복문으로 문제를 풀었다. #include #include #include #include using namespace std; bool solution(vector phone_book) { bool answer = true; for (int i = 0; i < phone_book.size(); i+..