728x90
https://school.programmers.co.kr/learn/courses/30/lessons/150370?language=cpp
소스코드
#include <string>
#include <vector>
#include <map>
#include <sstream>
using namespace std;
vector<int> solution(string today, vector<string> terms, vector<string> privacies) {
vector<int> answer;
int year = stoi(today.substr(0, 4));
int month = stoi(today.substr(5, 2));
int day = stoi(today.substr(8, 2));
int totalDay = ((year * 12) * 28) + ((month) * 28) + day;
map<char, int> m;
for (int i = 0; i < terms.size(); i++)
{
stringstream stream(terms[i]);
char alpha;
int month;
stream >> alpha >> month;
m.insert({ alpha, month });
}
for (int i = 0; i < privacies.size(); i++) {
int year = stoi(privacies[i].substr(0, 4));
int month = stoi(privacies[i].substr(5, 2));
int day = stoi(privacies[i].substr(8, 2));
char alpha = privacies[i].back();
int targetDay = ((year * 12) * 28) + ((month) * 28) + day + ((m[alpha] * 28) - 1);
if (totalDay > targetDay)
answer.push_back(i + 1);
}
return answer;
}
728x90
'코딩공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]Lv1 가장 가까운 같은 글자 C++ (0) | 2023.08.11 |
---|---|
[프로그래머스]Lv1 크기가 작은 부분 문자열 C++ (0) | 2023.08.11 |
[프로그래머스]Lv1 둘만의 암호 C++ (0) | 2023.08.07 |
[프로그래머스]Lv1 카드 뭉치 C++ (0) | 2023.08.07 |
[프로그래머스]Lv.1 대충 만든 자판 C++ (0) | 2023.08.07 |