Deep Learning through deep learning

백준 2566번 최댓값 본문

Baekjoon_algorithm_heuristic

백준 2566번 최댓값

NeuroN 2023. 2. 2. 11:30

https://www.acmicpc.net/

 

Baekjoon Online Judge

Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.

www.acmicpc.net

문제 해석

더보기
  1. 2차원 배열 9x9크기에 총 81개의 숫자들이 입력된다.
  2. 이 81개의 숫자들 중 가장 큰 숫자를 출력하고, 그 숫자의 위치를 출력하면 된다.

코드 해석

더보기
  1. a99[9]99[9] 로 9x9크기의 배열에 모두 0으로 할당한 배열 a를 생성
  2. a 배열에 값을 넣기 위해 a_input이라는 변수 할당
  3. 최댓값을 구하기 위해 max = 0이라는 변수 생성
  4. 최댓값의 위치를 구하기 위해 index_1,index_2이라는 변수 각각 생성
  5. 2중 for문을 활용하여 2차원 배열의 9x9크기의 81개의 숫자들을 전부 탐색하면서 최댓값을 찾자
  6. 1차원 배열은 for문 1개로 탐색이 가능하지만, 2차원 배열은 2중 for문을 사용해야한다.
  7. a_input을 입력하여 a배열에 숫자들을 각각 넣어주고,
  8. 최댓값을 순간순간마다 구해주기 위해 if문을 사용, 초기 max=0 이므로 배열 a에 들어간 숫자가 max보다 크면 max = a 할당,
  9. 추가로 max값이 할당될 때마다 (if문이 돌때마다) index위치를 구하기 위해 i+1, j+1값을 각각 저장해줌 (실제 위치는 0부터 시작하니 +1해줌)
  10. 출력으로 최댓값과 위치를 출력, 줄바꿈과 " " 띄어쓰기 주의

코드

#include <iostream>
#include <math.h>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int a[9][9] = {};
    int a_input;
    int index_1, index_2;
    int max = 0;
    for (int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 9; j++)
        {
            cin >> a_input;
            a[i][j] = a_input;
            if (a[i][j] >= max)
            {
                max = a[i][j];
                index_1 = i+1;
                index_2 = j+1;
            }
        }
    }

    cout << max << endl;
    cout << index_1 << " " << index_2;

}

'Baekjoon_algorithm_heuristic' 카테고리의 다른 글

백준 25305번 커트라인  (0) 2023.02.08
백준 10817번 세 수  (0) 2023.02.08
백준 2587번 대표값2  (0) 2023.02.02
백준 27160번 할리갈리  (2) 2023.02.02
백준 2445번 별찍기-8  (0) 2023.02.02