728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/17680
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(int cacheSize, vector<string> cities) {
int answer = 0;
// 캐시 크기가 0일 경우
if(cacheSize == 0){
answer = cities.size() * 5;
return answer;
}
vector<string> cache;
for(int i = 0; i < cities.size(); i++){
string check = cities[i];
transform(check.begin(), check.end(), check.begin(), ::tolower);
auto it = find(cache.begin(), cache.end(), check);
if(it == cache.end()){
answer += 5;
if(cache.size() < cacheSize){
cache.push_back(check);
} else{
cache.erase(cache.begin());
cache.push_back(check);
}
} else{
answer += 1;
cache.erase(it);
cache.push_back(check);
}
}
return answer;
}
728x90
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] 오픈채팅방 (C++) (0) | 2023.03.14 |
---|---|
[Programmers] 두 큐 합 같게 만들기 (C++) (0) | 2023.03.13 |
[Programmers] 주차 요금 계산 (C++) (0) | 2023.03.07 |
[Programmers] 괄호 변환 (C++) (0) | 2023.03.07 |
[Programmers] 신고 결과 받기 (C++) (0) | 2023.02.22 |