Machineboy空
B081:花壇のロープ 본문
문제요약
꽃밭에 필요한 테두리 로프 길이를 구하라
난이도
Rank B
풀이 포인트
- 외곽선 조사
REVIEW
복잡하게 생각할 필요없이 외곽에 닿은 곳은 로프, 꽃과 닿은 곳은 로프 아님의 로직으로 풀면 되는 문제였다.
CODE
using System;
using System.Linq;
class Program
{
static char[,] grid;
static int h, w;
static int[] dx = {-1, 1, 0, 0};
static int[] dy = {0, 0, -1, 1};
static void Main()
{
var line = Console.ReadLine().Split().Select(int.Parse).ToArray();
h = line[0];
w = line[1];
grid = new char[h, w];
for (int i = 0; i < h; i++)
{
var row = Console.ReadLine();
for (int j = 0; j < w; j++)
{
grid[i, j] = row[j];
}
}
int perimeter = 0;
for (int i = 0; i < h; i++)
{
for (int j = 0; j < w; j++)
{
if (grid[i, j] == '#')
{
for (int dir = 0; dir < 4; dir++)
{
int ni = i + dx[dir];
int nj = j + dy[dir];
if (ni < 0 || nj < 0 || ni >= h || nj >= w || grid[ni, nj] == '.')
{
perimeter++;
}
}
}
}
}
Console.WriteLine(perimeter);
}
}
'Computer > Coding Test' 카테고리의 다른 글
「RPG C#編」 (0) | 2025.06.04 |
---|---|
クラスの継承 (0) | 2025.06.03 |
A074:オリオン座 (0) | 2025.05.16 |
B140:ネズミ駆除 OrderByDescending (0) | 2025.05.13 |
B145:ビンゴゲームの判定 - 2중 For 문 LINQ (0) | 2025.05.12 |