728x90
https://school.programmers.co.kr/learn/courses/30/lessons/160586?language=cpp
소스코드
#include <iostream>
#include <vector>
using namespace std;
int findClick(vector<string> keymap, char c) {
int min = 9999;
for (int i = 0; i < keymap.size(); i++)
{
auto idx = keymap[i].find(c);
if (idx != string::npos)
{
if (min > idx)
min = idx;
}
}
if (min == 9999)
return -1;
else
return min + 1;
}
vector<int> solution(vector<string> keymap, vector<string> targets) {
vector<int> answer;
for (int i = 0; i < targets.size(); i++)
{
answer.push_back(0);
int num = 0;
for (int j = 0; j < targets[i].size(); j++)
{
num = findClick(keymap, targets[i][j]);
if (num == -1)
{
answer[i] = -1;
break;
}
answer[i] += num;
}
}
return answer;
}
int main()
{
auto result = solution(vector<string> { "ABACD", "BCEFD" }, vector<string> { "ABCD", "AABB" });
//std:: cout << result << endl;
return 0;
}
728x90
'코딩공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]Lv1 둘만의 암호 C++ (0) | 2023.08.07 |
---|---|
[프로그래머스]Lv1 카드 뭉치 C++ (0) | 2023.08.07 |
[프로그래머스]Lv.1 덧칠하기 C++ (0) | 2023.08.07 |
[프로그래머스]Lv.1 추억 점수 C++ (map) (0) | 2023.08.07 |
[프로그래머스]Lv.1 달리기 경주 C++ (map) (0) | 2023.08.07 |