본문 바로가기
C#/C# : Baekjoon

[백준] C# : 최댓값 (2562번)

by TODAYCODE 2021. 7. 27.
반응형

백준 단계별로 풀어보기 5단계 1차원배열 2번문제

 

2562번: 최댓값

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어

www.acmicpc.net

문제의 핵심

1. 필요한 변수들을 만들어서 원할 떄 값을 저장할 수 있는가?

 


 

푸는 방법은 정말 다양하지만, 그냥 가장 간단한 방법으로 풀었다.

최대값을 저장할 max라는 변수를 하나 만들고

최대값이 있는 인덱스 번호를 저장할 변수도 만들어서

 

배열의 모든 항목들을 검사하고 각각 비교해보면 된다.

 

이전 1번 문제는 정렬하면 곧장 풀리는 문제였고,

이번 문제는 정렬조차 할 필요없이 그냥 for문 돌리면 되는

어찌보면 더 쉬운 문제였다.

 

 

 

 

정답 코드

using System;

namespace _1차원배열2
{
    class 최댓값
    {
        static void Main(string[] args)
        {
            // 9개의 숫자가 주어지므로 길이 9의 배열 생성
            int[] arr = new int[9];
            // 최대값을 저장할 변수
            int max = 0;
            // 배열번호를 저장할 변수
            int num = 0;

            // 숫자를 배열에 입력
            for (int i = 0; i < 9; i++)
            {
                arr[i] = int.Parse(Console.ReadLine());
            }
            // 최대값 찾기
            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i] > max)
                {
                	// 현재값이 max보다 크면, max에 저정하고 인덱스번호도 저장.
                    max = arr[i];
                    num = i+1; // 배열번호에 +1을 해줘야 입력된 순서의 번호가 된다.
                }
            }
            Console.WriteLine(max);
            Console.WriteLine(num);
        }
    }
}

 

 

 

 

반응형

댓글