-
https://school.programmers.co.kr/learn/courses/30/lessons/150370
2023 카카오 블라인드 코딩테스트 1번 개인정보 수집 유효기간 문제
아이디어
오늘 날짜, 개인정보 수집일자, 약관에따른 유효기간을 모두 day단위로 convert하여 파기해야할 개인정보의 번호를 반환
하루가 28일이라는 것 주의
#include <string> #include <vector> #include <unordered_map> #include <sstream> #include <iostream> using namespace std; long long convertDay(string s) { vector<long long> v; long long num; for (int i = 0; i < s.size(); i++) { if (s[i] == '.') s[i] = ' '; } stringstream str(s); while (str >> num) { v.push_back(num); } return ((v[0] * 336) + (v[1] * 28) + (v[2])); //365 * 28 } vector<int> solution(string today, vector<string> terms, vector<string> privacies) { vector<int> answer; //convert today long long Today = convertDay(today); //convert tems unordered_map<char, long long> map; for (auto &term : terms) { long long num; char token; for (stringstream str(term); str >> token >> num;) { map[token] = (num * 28); } } //convert privacies int pos = 0; for (auto &privacie : privacies) { pos++; long long temp = convertDay(privacie); char trm = privacie.back(); temp += map[trm]; if (temp > Today) continue; answer.push_back(pos); } return answer; }
'알고리즘 > 프로그래머스' 카테고리의 다른 글
2023 카카오 블라인드 코딩테스트 3번 이모티콘 할인행사 / C++ (0) 2023.01.08 2023 카카오 블라인드 코딩테스트 2번 택배 배달과 수거하기 / C++ (0) 2023.01.08 Programers 최고의 집합 / C++ (0) 2022.12.04 Programers 최고의 집합 / C++ (0) 2022.12.04 Programers 숫자의 표현 / C++ (0) 2022.12.03 댓글