C#/C# (백준)

[C#] 백준 알고리즘 10807번, 개수 세기

서니션 2023. 1. 31. 13:48
728x90
반응형

내가 쓰다가 요상해진 코드

using System;
using System.Linq;

namespace codingstudy
{
    class Program
    {
        static void Main()
        {
            int count = 0;
            int[] input;
            int v;

            int n = int.Parse(Console.ReadLine()); // 정수 개수 입력            

            for (int i = 0; i < n; i++)
            {
                input = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
                // n만큼 input 배열에 저장
            }
            // 찾으려고 하는 정수 v
            v = int.Parse(Console.ReadLine());

            foreach(int n in input)
            {
                if (input[j] == v)
                {
                    count++;
                }
            }
        Console.WriteLine(count);
        }
    }
}

무언가 잘못됐다 생각하고 검색한 코드

using System;
using System.Linq;

namespace codingstudy
{
    class Program
    {
        static void Main()
        {
            // 정수의 개수
            int n = int.Parse(Console.ReadLine());

            // 정수 배열
            string [] num = Console.ReadLine().Split();

            // 찾으려는 정수
            string v = Console.ReadLine();

            // 찾기, 해당조건을 만족하는 모든 값 리스트로 반환한거의 길이
            int result = Array.FindAll(num, x => x==v).Length;
            
            Console.WriteLine(result);
        }
    }
}

 

System.Array

// 해당조건을 만족하는 번호 반환, 없으면 -1
System.Array.FindIndex(배열, x => x.name == "A");

// 해당조건을 만족하는 첫번째 값 반환
System.Array.Find(배열, x => x.name == "A");

// 해당조건을 만족하는 모든 값 리스트로 반환
System.Array.FindAll(배열, x => x.name == "A");

// 중복만 추출
var redundantArray = System.Array.FindAll(배열, x => List.Contains(x));

// RemoveAll 용도
System.Array.FindAll(배열, x => x.name != "A");

// 해당조건을 만족하는 요소가 한 개라도 존재하는지 검사
System.Array.Exists(배열, x => x.name = "A");

// 내용물에 전부 1 더해 반환
int[] 배열 = System.Array.ConvertAll(배열, x => x+1);

// 0으로 초기화
int[] 배열 = System.Array.ConvertAll(배열, x => 0);

// true 검사
System.Array.Find(배열, x => x == true);

// true 검사2
System.Array.TrueForAll(배열, x => x.isOn == false);

// 포함 여부 검사
if (System.Array.TrueForAll(배열, x => List.Contains(x));
728x90
반응형