본문으로 바로가기

Hackerrank - Cavity Map, Manasa and Stones

category Algorithm 2021. 2. 23. 20:05

[풀이 - Cavity Map] : <Easy / 90.10%>

더보기
vector<string> cavityMap(vector<string> grid)
{
    int height = grid.size();
    int width = grid[0].size();
    //
    for(int y = 1; y < (height-1); ++y)
    {
        for(int x = 1; x < (width-1); ++x)
        {
            if( (grid[y][x] > grid[y-1][x]) &&
                (grid[y][x] > grid[y][x+1]) &&
                (grid[y][x] > grid[y+1][x]) &&
                (grid[y][x] > grid[y][x-1]) )
                {
                    //grid[y].replace(x, 1, 1, 'X');
                    grid[y][x] = 'X';
                }
        }
    }
    //
    return grid;
}

 


[풀이 - Manasa and Stones] : <Easy / 90.44%>

더보기
vector<int> stones(int n, int a, int b)
{
    vector<int> result;
    //
    map<int, int> m;
    for(int i = 0; i < n; ++i)
    {
        int value = (a * (n - 1 - i)) + (b * i);
        m[value]++;
    }
    //
    auto iter = m.begin(), end = m.end();
    for(; iter != end; ++iter)
        result.push_back(iter->first);
    //
    return result;
}