[프로그래머스] Lv.2 카펫 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 카펫은 테두리는 갈색, 중앙은 노란색으로 구성되어 있다.brown은 최소 8 최대 5,000이하의 자연수yellow는 1이상 2,000,000이하의 자연수카펫 가로길이 >=  카펫 세로길이ex) brown = 10, yellow = 2인 경우 카펫의 크기는 [4, 3]이 된다.     *****     *&&*     ***** 즉, brown격자의 개수와 yellow격자의 개수가 주어지면 카펫의 가로, 세로 길이를 구하면 된다. 풀이 방법완전..
[프로그래머스] Lv.2 귤 고르기 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 수확한 귤 중 k개를 골라야하며 이때 귤의 크기는 최대한 일정해야한다.즉, 귤의 크기 종류를 최소화 하면서 k개의 귤을 골라내는것이 목표다. 예를 들어, 8개의 귤을 수확했고  수확한 귤의 크기가 다음과 같다.[1, 3, 2, 5, 4 ,5, 2, 3]이때, 6개의 귤을 판매하고 싶다면 크기 1과 4를 제외한 [2 ,3 ,2 ,5, 5, 3] 귤을 상자에 담으면 귤의 크기 종류는 [2, 3, 5]로 총 3가지가 되어 최소가 된다. 풀이 방법총..
[프로그래머스] Lv.0 배열 회전시키기 c++
·
Algorithm/Programmers
문제설명 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.제안사항3 direction은 "left" or "right" #include #include using namespace std;vector solution(vector numbers, string direction) { vector answer; //left와 right 두가지 경우의 if문을 따로 만들었다. if(direction == "left") { for(int i=0; i  vector를 사용할 줄 알아야 하는 문제v,push_b..
[영리한 프로그래밍을 위한 알고리즘] 섹션0 순환(1)
·
Algorithm/정리
Recrusion(순환): 함수 호출 시 자기 자신을 호출하는 함수(무한루프에 빠지지 않도록 주의)Base Case : 적어도 하나의 Recrusion에 빠지지 않는 경우가 존재해야 한다.Recrusive Case : Recrusion을 반복하다 보면 결국 Base Case로 수렴해야 한다.ex) n!, X^n, 피보나치 수(Fibonacci numbers), 최대공약수(Euclid Method)   //n! (1부터 n까지 모든 정수 곱하기)int factorial(int n){ if (n == 1) //base case return 1; else return n*factorial(n-1); //recrusive case}만약 n이 6이라면6*factorial(6-1) -> 6*5*facto..