Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- networkobject
- nav거리
- networkobject.networkid
- 깃허브 데스크탑 합치기
- 유니티 해상도
- m590 수리
- 유니티 브랜치 merge
- NavMesh
- m585
- M590
- 깃허브 데스크탑 병합
- 유니티
- Unity
- m585 수리
- unity merge
- 몬스터
- 유니티 합치기
- 유니티 해상도 변경
- nav오브젝트사이거리
- 유니티 해상도 설정
- stateauthority
- 오브젝트 깜빡임
- unity 병합
- navigation
- networkbehaviourid
- githubdesktopmerge
- 유니티 머지
- unity git
- Github DeskTop Merge
Archives
- Today
- Total
집게사장의 꿈
백준 C# 1018 체스판 다시 색칠하기 본문
문제
주어진 배열에서 B W의 쌍을 이루는 체스판을 만들기 위해 배열을 자를 때, 최소한의 수정 개수를 출력
해결
입력받은 Map 배열을 통해 BW 순서를 고려하여 체스판의 정렬 상태를 판단하고, 체스판에서의 8X8 배열에 대해 가장 작은 값을 비교하여 출력한다.
이때, 미리 순서에 맞는 문자인지 판단하는 것을 먼저 했다.
string[] input(StreamReader s) => s.ReadLine().Split();
using (StreamReader sr = new StreamReader(Console.OpenStandardInput()))
{
int[] arr = Array.ConvertAll(input(sr), int.Parse);
//int[] W = { 87,66 };
int[] B = { 66,87 };
int[][] map = new int[arr[0]][];
for(int i =0; i < arr[0]; i++)
{
map[i] = input(sr)[0].Select(num => (int)num).ToArray();
}
int[,] BW = new int[arr[0], arr[1]];
//int[,] WB = new int[arr[0], arr[1]];
//B - W 순서를 고려하여 현재 위치의 값이 바르다면 0 틀리다면 1을 저장
for (int i =0; i< arr[0]; i++)
{
for(int j = 0; j < arr[1]; j++)
{
BW[i,j] = map[i][j] != B[(i+j) % 2] ? 1 : 0;
//WB[i,j] = map[i][j] != W[i+j % 2] ? 1 : 0;
}
}
//Row와 Colume값의 판단을 위해 최대값을 지정합니다.
int x = arr[0] - 8 + 1;
int y= arr[1] - 8 + 1;
int min = 65;
//8x8 배열에 대해 최소값을 판단합니다.
for( int i = 0; i < x; i++)
{
for(int j = 0;j < y; j++)
{
//[i+8 , j+8] 번째의 배열까지의 값들을 모두 더한다.
int sum = Enumerable.Range(i,8)
.SelectMany(row => Enumerable.Range(j, 8)
.Select(col => BW[row,col]))
.Sum();
//가장 작은 수정치를 판단
min = Math.Min(min, Math.Min(sum, 64 - sum));
}
}
Console.Write(min);
}
'기타 > 백준' 카테고리의 다른 글
백준 C# 좌표정렬하기 11650 (0) | 2024.08.28 |
---|---|
백준 C# 10814 나이순 정렬 (0) | 2024.08.28 |
백준 C# 평범한배낭 12865 (0) | 2024.08.15 |
백준 C# LCS 9251 (1) | 2024.08.15 |
백준 C# 1916 최소비용 구하기 (0) | 2024.08.10 |