본문 바로가기

problem solving

(93)
[프로그래머스]라면공장 date가 0일 때 고려해서 stock--; #include #include #include using namespace std; int solution(int stock, vector dates, vector supplies, int k) { int answer = 0; dates.insert(dates.end(), k); dates.insert(dates.begin(), 0); supplies.insert(supplies.end(), 0); supplies.insert(supplies.begin(), 0); priority_queue store; stock--; for(int idx = 1; idx
[프로그래머스]라면공장 #include #include #include #include using namespace std; vector allDates;vector allSupplies;bool check[100001];int limit;int result; void DFS(int stock, int dayCount, int count) { if(dayCount == allDates.size()) { if (limit - allDates[dayCount - 1] count ? count : result; } else if (limit - allDates[dayCount - 1] count + 1 ? count + 1 : result; } return; } if(stock - (allDates[dayCount] - allDat..
[프로그래머스]여행경로 #include #include #include using namespace std; int tiketsLen; int count = 0; bool check[10001]; string airport[10001]; vector store; vector allTickets; void DFS(string curPort, int count) { if(count == tiketsLen) { vector temp(count + 1); for(int idx = 0; idx
[프로그래머스]단어 변환 #include #include #include #include using namespace std; bool check[51]; int solution(string begin, string target, vector words) { int answer = 0; fill(check, check + 51, false); queue mainQ; mainQ.push( { begin, 0 }); while (!mainQ.empty()) { string word = mainQ.front().first; int count = mainQ.front().second; mainQ.pop(); if(!word.compare(target)) { answer = count; break; } else if(count > wor..
[프로그래머스]네트워크 #include #include #include #include using namespace std; bool network[201][201]; bool check[201][201]; int solution(int n, vector computers) { int answer = 0; for(int i = 0; i
[프로그래머스]카펫 주어진 red의 가로와 세로를 구한다면 brown의 가로, 세로 길이를 구할 수 있다. red의 길이를 구하기 위해 가능한 가로, 세로의 모든 경우의 수를 store배열에 저장한다. 저장된 store의 배열을 이용해 store에 저장된 가로와 세로의 길이를 이용해 (가로길이 * 2 + (세로길이 + 2) * 2)의 값이 brown이 되면 이 때의 가로, 세로 길이가 답이다. #include #include #include using namespace std; vector solution(int brown, int red) { vector answer(2); int row = 0, col = 1; vector store; for(int idx = 0; idx
[프로그래머스]베스트앨범 map을 이용해 장르별 재생횟수를 측정한다. map에서 측정된 장르별 재생횟수를 이용해 반복문을 작성한다. 매 순회마다 장르의 노래의 최대값의 위치를 구해서 answer에 추가해준다. #include #include #include #include using namespace std; vector solution(vector genres, vector plays) { vector answer; map mainMap; vector store; for(int idx = 0; idx second, it->first }); } sort(mapVal.begin(), mapVal.end(), greater()); for(int idx = 0; idx max2) { if(max2 >= max1) { max1 = st..
[프로그래머스]위장 각 종류마다 옷의 개수를 세고 각각의 종류를 착용하지 않을 경우까지 고려해 +1을 한후 모든 종류의 옷 개수를 곱한다. 여기서 모두 착용하지 않았을 경우를 빼면 답을 구할 수 있다. #include #include #include using namespace std; int solution(vector clothes) { map mainMap; for(int idx = 0; idx second + 1; } answer--; return answer; } Colored by Color Scripter cs