//2738
N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오.
int[] xy = Array.ConvertAll(Console.ReadLine().Split(), i => int.Parse(i));
int x = xy[0];
int y = xy[1];
int[,] matrixA = new int[x, y] ;
int[,] matrixB = new int [x, y];
for (int k = 0; k < x; k++)
{
string[] input = Console.ReadLine().Split();
for (int l = 0; l<y; l++)
matrixA[k, l] = int.Parse(input[l]);
}
for (int k = 0; k < x; k++)
{
string[] input = Console.ReadLine().Split();
for (int l = 0; l < y; l++)
matrixB[k, l] = int.Parse(input[l]);
}
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
Console.Write(matrixA[i, j] + matrixB[i, j] + " ");
Console.WriteLine();
}
int[] F() => Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
int[] nm = F();
int[][] n = new int[nm[0]][];
for (int i = 0; i < nm[0]; i++)
n[i] = F();
for (int i = 0; i < nm[0]; i++)
{
int[] temp = F();
for (int j = 0; j < temp.Length; j++)
n [i][j] += temp[j];
}
foreach (var item in n)
Console.WriteLine(string.Join(' ', item));
//2566
9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오.
int[][] matrix = new int[9][];
int[] M() => Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
int max = 0, n = 0, m = 0;
for (int k = 0; k < matrix.Length; k++)
matrix[k] = M();
for (int i = 0; i < matrix.Length; i++)
for (int j = 0; j < matrix[i].Length; j++)
if (matrix[i][j] > max)
{
max = matrix[i][j];
n = i;
m = j;
}
Console.WriteLine(max);
Console.WriteLine($"{n+1} {m+1}");
List<int> list = new List<int>();
for (int i = 0; i < 9; i++)
list.AddRange(Array.ConvertAll(Console.ReadLine().Split(), int.Parse));
int m = list.IndexOf(list.Max());
Console.WriteLine($"{list.Max()}\n{m / 9 + 1} {m % 9 + 1}");
//10798
이 장난감에 있는 글자들은 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’이다. 영석이는 칠판에 글자들을 수평으로 일렬로 붙여서 단어를 만든다.
한 줄의 단어는 글자들을 빈칸 없이 연속으로 나열해서 최대 15개의 글자들로 이루어진다. 또한 만들어진 다섯 개의 단어들의 글자 개수는 서로 다를 수 있다.
칠판에 붙여진 단어들이 주어질 때, 영석이가 세로로 읽은 순서대로 글자들을 출력하는 프로그램을 작성하시오.
string[] input = new string[5];
for (int i = 0; i < input.Length; i++)
{
input[i] = Console.ReadLine();
}
for (int j = 0; j < 15;j++)
{
for (int k = 0; k < input.Length; k++)
{
if (input[k].Length > j)
Console.Write(input[k][j]);
}
}
//2563
가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오.
int answer = 0;
int[,] ints = new int[100, 100];
int n = int.Parse(Console.ReadLine());
for (int i = 0; i < n; i++)
{
int[] temp = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
for (int j = 0; j < 100; j++)
ints[temp[0] + (j % 10), temp[1] + (j / 10)] = 1;
}
foreach (var item in ints)
answer += item;
Console.WriteLine(answer);
'코딩 공부 > C#-코딩테스트' 카테고리의 다른 글
(백준/C#) 약수, 배수와 소수 (0) | 2024.10.04 |
---|---|
(백준/C#) 일반 수학 1 (0) | 2024.09.24 |
(백준/C#) 심화 1 (0) | 2024.09.23 |
(백준/C#) 문자열 (0) | 2024.09.09 |
(백준/C#) 1차원 배열 (0) | 2024.08.19 |