C++:: 프로그래머스 <가장 가까운 같은 글자>

jahlee·2023년 3월 25일
0

프로그래머스_Lv.1

목록 보기
10/75
post-thumbnail

string에서 해당 글자가 이전에 나온적 있다면 그 거리를 answer에 넣어주면 되고 없으면 -1 을 넣어주면 되는 문제이다. 알파벳이 나오면 인덱스를 갱신해주면 된다.

#include <string>
#include <vector>

using namespace std;

vector<int> solution(string s)
{
    vector<int> answer;
    int alpha[26]; memset(alpha, -1, sizeof(alpha));// 알파벳 배열
    for(int i=0;i<s.size();i++)
    {
        int num = s[i]-'a';// 해당 문자
        if (alpha[num] == -1) answer.push_back(-1);// 한번도 나온적 없다면
        else answer.push_back(i - alpha[num]);// 나온적 있다면 거리
        alpha[num] = i;// 인덱스 갱신
    }
    return answer;
}

0개의 댓글