https://www.welcomekakao.com/learn/courses/30/lessons/17680
#include <iostream>
#include <string>
#include <cstring>
#include <vector>
using namespace std;
int solution(int cacheSize, vector<string> cities) {
int answer = 0;
if (cacheSize == 0) {
return cities.size() * 5;
}
for (int i = 0; i < cities.size() ; i++)
{
for (int j = 0; j < cities[i].size(); j++)
{
cities[i][j] = tolower(cities[i][j]);
}
}
vector <string> rcities;
for (int i = 0; i < cities.size(); i++)
{
int j = 0;
bool flag = true;
for ( j = 0; j < rcities.size(); j++)
{
if (rcities[j] == cities[i]) {
string temp = rcities[j];
rcities.erase(rcities.begin() + j);
rcities.push_back(temp);
flag = false;
answer++;
break;
}
}
if (flag) {
if (cacheSize == rcities.size()) {
rcities.erase(rcities.begin());
rcities.push_back(cities[i]);
}
else {
rcities.push_back(cities[i]);
}
answer += 5;
}
}
return answer;
}
'개발자 > algorithm' 카테고리의 다른 글
2019 카카오 코딩테스트 5번 : 길 찾기 게임 (c++) (0) | 2020.09.02 |
---|---|
2018 카카오 코딩테스트 5번 : 뉴스 클러스터링 (c++) (0) | 2020.09.01 |
2018 카카오 코딩테스트 6번 : 프렌즈 블록 (c++) (0) | 2020.09.01 |
백준 1615번 : 교차개수세기 (c++) (0) | 2020.08.29 |
백준 2268번 : 수들의 합 (c++) (0) | 2020.08.29 |