[HackerRank/C++] Cavity Map
2023. 2. 8. 09:04ㆍ코딩테스트 해커랭크/Algorithms -Easy
string을 담는 vector grid를 인자로 받으며 각 문자열은 grid에서 깊이를 나타낸다
특정 인덱스가 상, 하, 좌, 우의 값보다 작다면 구덩이로 판정해서 해당 인덱스의 값을 X로 변경하고 return 한다
vector<string> cavityMap(vector<string> grid)
{
for (int y = 1; y < grid.size() - 1; ++y)
{
for (int x = 1; x < grid[y].size() - 1; ++x)
{
if (grid[y][x] > grid[y + 1][x] &&
grid[y][x] > grid[y - 1][x] &&
grid[y][x] > grid[y][x + 1] &&
grid[y][x] > grid[y][x - 1])
grid[y][x] = 'X';
}
}
return grid;
}
사실상 2차원 배열이기 때문에 배열에 대한 개념이 잘 잡혀있다면 어렵지 않게 풀 수 있다
맨 끝쪽은 상, 하, 좌, 우 네방향이 전부 존재하지 않기 때문에 시작과 끝을 인덱스 하나씩 당겨서 for문을 실행한다
해당 인덱스의 상, 하, 좌, 우 네곳이 전부 해당 인덱스보다 작다면 구덩이이므로 값을 X로 변경한다
반복문이 종료되면 grid를 return 한다
'코딩테스트 해커랭크 > Algorithms -Easy' 카테고리의 다른 글
| [HackerRank/C++] Happy Ladybugs (0) | 2023.02.08 |
|---|---|
| [HackerRank/C++] Manasa and Stones (0) | 2023.02.08 |
| [HackerRank/C++] Fair Rations (0) | 2023.02.08 |
| [HackerRank/C++] Flatland Space Stations (0) | 2023.02.08 |
| [HackerRank/C++] Lisa's Workbook (0) | 2023.02.07 |