*문제 출처는 프로그래머스에 있습니다.
문제 제목: 할인 행사 (2단계)
문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/131127
문제 설명
나의 풀이
#include <string>
#include <vector>
#include <map>
using namespace std;
int solution(vector<string> want, vector<int> number, vector<string> discount) {
int answer = 0;
map<string, int> wantcount;
for (int i = 0; i < want.size(); i++)
wantcount[want[i]] = number[i];
for (int j = 0; j <= discount.size() - 10; j++) {
map<string, int> m;
for (int k = j; k < j + 10; k++)
m[discount[k]]++;
if (m == wantcount) answer++;
}
return answer;
}
※ 알아야 할 것
문제에서 조건이 2개가 나오면 보통 map을 이용한 풀이인 경우가 많다. 그냥 map을 생성해서 둘이 비교를 하고 다르면 값을 증가시키지 않는 방식으로 진행을 하니깐 쉽게 풀렸다.
'코딩테스트(프로그래머스 & 백준) > 프로그래머스-C++' 카테고리의 다른 글
Programmers / n^2 배열 자르기 / C++ (0) | 2024.02.23 |
---|---|
Programmers / 체육복 / C++ (0) | 2024.02.22 |
Programmers / 괄호 회전하기 / C++ (0) | 2024.02.20 |
Programmers / 연속 부분 수열 합의 개수 / C++ (0) | 2024.02.19 |
Programmers / 귤 고르기 / C++ (0) | 2024.02.16 |