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