Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

great minds think alike

[C] 백준/BAEKJOON 2566번: 최댓값 본문

SWLUG/백준 BEAKJOON

[C] 백준/BAEKJOON 2566번: 최댓값

gapsoo 2023. 11. 15. 07:09

 

https://www.acmicpc.net/problem/2566

 

2566번: 최댓값

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.

www.acmicpc.net

 



[2] 정답 및 해설

 

#include <stdio.h>

int main() {
    int maxVal = 0, maxRow = 0, maxCol = 0;
    int grid[9][9];

    // 격자판 입력
    for (int i = 0; i < 9; i++) {
        for (int j = 0; j < 9; j++) {
            scanf("%d", &grid[i][j]);

            // 최댓값 갱신
            if (grid[i][j] > maxVal) {
                maxVal = grid[i][j];
                maxRow = i;
                maxCol = j;
            }
        }
    }

    // 결과 출력
    printf("%d\n%d %d\n", maxVal, maxRow + 1, maxCol + 1);

    return 0;
}

 

 

 

  1. maxVal, maxRow, maxCol: 최댓값과 해당 최댓값이 위치한 행 번호, 열 번호를 저장하는 변수들이다.
  2. grid[9][9]: 9x9 크기의 격자판을 나타내는 2차원 배열이다.
  3. 격자판을 입력하는 중에, 최댓값(maxVal)이 갱신될 때마다 최댓값을 저장하는 변수들(maxRow, maxCol)을 업데이트한다.
  4. 결과를 출력할 때, 최댓값과 위치한 행 번호, 열 번호를 출력한다. 행 번호와 열 번호는 1부터 시작하므로, 출력 시에는 각각 1을 더해준다.

 

 


[3] 느낀 점

 

 

2차원 배열도 사용하면서, 최댓값을 저장하는 변수'들'도 업데이트 해야 해서 머리가 아팠다 🥹