Development/Program Solving
[백준 단계별로 풀어보기] 1차원 배열 with C#
이쥬딩
2023. 7. 11. 00:25
728x90
10807번: 개수 세기
string length = Console.ReadLine();
string[] array = Console.ReadLine().Split();
string target = Console.ReadLine();
int count = array.Where(x => x == target).Count();
Console.WriteLine(count);
10871번: X보다 작은 수
string[] array = Console.ReadLine().Split();
string[] array2 = Console.ReadLine().Split();
int[] array3 = array2.Select(int.Parse).ToArray();
int standard = int.Parse(array[1]);
var result = array3.Where(x => x < standard);
Console.WriteLine(String.Join(" ", result));
10818번: 최소, 최대
string length = Console.ReadLine();
string[] array = Console.ReadLine().Split();
int[] array2 = array.Select(int.Parse).ToArray();
int min = array2.Min();
int max = array2.Max();
Console.WriteLine("{0} {1}", min, max);
2562번: 최댓값
int[] array = new int[9];
for (int i = 0; i < 9; i++)
{
array[i] = int.Parse(Console.ReadLine());
}
int max = array.Max();
int index = Array.IndexOf(array, max);
Console.WriteLine(max);
Console.WriteLine(index + 1);
10810번: 공 넣기
string[] array = Console.ReadLine().Split();
int[] intArray = array.Select(int.Parse).ToArray();
int[] result = new int[intArray[0]];
for (var i = 0; i < intArray[1]; i++)
{
string[] array2 = Console.ReadLine().Split();
int[] intArray2 = array2.Select(int.Parse).ToArray();
for (int x = intArray2[0] - 1; x < intArray2[1]; x++)
{
result[x] = intArray2[2];
}
}
Console.WriteLine(String.Join(" ", result));
10813번: 공 바꾸기
string[] array = Console.ReadLine().Split();
int[] intArray = array.Select(int.Parse).ToArray();
int[] result = new int[intArray[0]];
for (var i = 0; i < result.Length; i++)
{
result[i] = i + 1;
}
for (var i = 0; i < intArray[1]; i++)
{
string[] array2 = Console.ReadLine().Split();
int[] intArray2 = array2.Select(int.Parse).ToArray();
int a = intArray2[0] - 1;
int b = intArray2[1] - 1;
int c = result[a];
int d = result[b];
result[a] = d;
result[b] = c;
}
Console.WriteLine(String.Join(" ", result));
5597번: 과제 안 내신 분..?
LINQ로 SUB QUARY 구현 가능하네?
LINQ 최고
string[] inputArray = new string[28];
int[] array = new int[30];
for (var i = 0; i < array.Length; i++)
{
array[i] = i + 1;
}
for (int i = 0; i < 28; i++)
{
inputArray[i] = Console.ReadLine();
}
int[] array2 = inputArray.Select(int.Parse).ToArray();
var s = array.Where(x => !array2.Contains(x));
foreach (var v in s)
{
Console.WriteLine(v);
}
3052번: 나머지
int[] array = new int[10];
int[] result = new int[10];
for (int i = 0; i < array.Length; i++)
{
int value = int.Parse(Console.ReadLine());
array[i] = value;
result[i] = value % 42;
}
int count = result.Distinct().Count();
Console.WriteLine(count);
10811번: 바구니 뒤집기
Reverse 메소드 메모메모...
string[] array = Console.ReadLine().Split();
int[] array2 = new int[int.Parse(array[0])];
for (var i = 0; i < int.Parse(array[0]); i++)
{
array2[i] = i + 1;
}
for (int i = 0; i < int.Parse(array[1]); i++)
{
string[] a = Console.ReadLine().Split();
int[] b = a.Select(int.Parse).ToArray();
int x = b[1] - b[0] + 1;
Array.Reverse(array2, b[0] - 1, x);
}
Console.WriteLine(String.Join(" ", array2));
1546번: 평균
int num = int.Parse(Console.ReadLine());
string[] strArray = Console.ReadLine().Split();
double[] array = strArray.Select(double.Parse).ToArray();
double max = array.Max();
for (int i = 0; i < array.Length; i++)
{
array[i] = array[i] / max * 100;
}
Console.WriteLine(String.Format("{0:0.0########################}", array.Average()));
728x90