24.03.08 TIL - 알고리즘 : 백준, 최댓값 (2562번) | Array.IndexOf : 배열의 특정 요소 위치 찾기

JJwoo·2024년 3월 8일

알고리즘

목록 보기
17/18

풀이 1

            int[] arr = new int[9]; // 길이9 배열

            int maxNum = 0; // 최대값 저장용 변수
            int maxIndex = 0; // 최대값 번호 저장용 변수

            for (int i = 0; i<9; i++)
            {
                arr[i] = int.Parse(Console.ReadLine()); // 9개 숫자 배열에 입력
            }

            for (int i = 0; i< 9; i++)
            {
                if (arr[i] > maxNum) // 현재 값이 최대보다 크면 maxNum
                {
                    maxNum = arr[i]; // maxNum에 저장
                    maxIndex = i + 1; // maxIndex 순서에 저장
                }
            }
            Console.WriteLine(maxNum);
            Console.WriteLine(maxIndex);

변수들을 만들어서 최댓값, 최댓값의 순서를 저장해줌


풀이 2 : 어김없이 LINQ

using System.Linq;

        static void Main(string[] args)
        {
            int[] arr = new int[9];

            for (int i = 0; i < 9; i++)
            {
                arr[i] = int.Parse(Console.ReadLine());
            }

            int maxNum = arr.Max();
            // LINQ의 Max 메소드를 사용하여 최대값을 찾음

            int maxIndex = Array.IndexOf(arr, maxNum) + 1;
            // 최대값의 인덱스를 찾으면서 위치(순서)를 얻기 위해 1을 더함

            Console.WriteLine(maxNum); // 최대값 출력
            Console.WriteLine(maxIndex); // 최대값의 위치(인덱스) 출력
        }

저장용 변수를 따로 만들지 않고

.MAX 로 최댓값을,
Array.IndexOf 로 최댓값의 위치를 찾아서

출력한다.

profile
개발 모코코

0개의 댓글