728x90
https://www.acmicpc.net/problem/2566
문제해석
- 행(row)의 크기 9와 열(column)의 크기 9인 2차원 배열을 이용해 격자판을 형성해줌
- 배열의 0번째 요소는 사용하지 않으므로 행과 열을 1로 시작 : row=1, column=1
- 반복문을 이용해 최댓값과 입력받은 배열을 비교하여 최댓값 저장한 뒤 출력
소스코드
#include <stdio.h>
int main() {
int arr[9][9] = { 0 }, max = 0, row = 1, column = 1;
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
scanf("%d", &arr[i][j]);
if (max < arr[i][j]) {
max = arr[i][j];
row = i + 1;
column = j + 1;
}
}
}
printf("%d\n%d %d", max, row, column);
return 0;
}
문제풀이
- int arr[9][9] = {0} : 2차원 배열을 사용하여 9X9격자판을 형성해줍니다. / 사용자에게 입력받을 배열로 사용(변수)합니다.
- max=0 최댓값을 0으로 초기화, row=column=1 행과 열을 1부터 시작합니다 .
- printf("%d\n%d %d", max, row, column) : 이후 반복문을 거친 최댓값, 행, 열을 출력합니다.
for (int i = 0; i < 9; i++) { //격자판 가로 또는 세로의 9칸을 읽을 반복문
for (int j = 0; j < 9; j++) { //격자판 세로 또는 가로의 9칸을 읽을 반복문
scanf("%d", &arr[i][j]); //사용자에게 배열을 입력받습니다
if (max < arr[i][j]) { //배열을 반복하는동안 최댓값이 입력받은 배열과 비교했을 때 작은 지 판단합니다
max = arr[i][j]; //최댓값이 배열보다 작을 시 배열의 값을 최댓값으로 저장해줍니다
row = i + 1; //행을 한칸 이동합니다
column = j + 1; //열을 한칸 이동합니다
}
}
}
예제
728x90
'백준(BaekJoon)' 카테고리의 다른 글
[BaekJoon/C] No.14681 : 사분면 고르기 (0) | 2024.05.23 |
---|---|
[BaekJoon/C] No.10872 : 팩토리얼 (0) | 2024.05.23 |
[BaekJoon/C] No.2563 : 색종이 (0) | 2024.05.17 |
[BaekJoon/C] No.2908 : 상수 (0) | 2024.05.15 |
[BaekJoon/C] No.10809 : 알파벳 찾기 (0) | 2024.05.15 |