안녕하세요. BlockDMask 입니다.
중간고사가 곧 시작하는군요.. 그래도 오늘도 문제 달립니다.
170905 문제 빼먹음 -> 171017 완료.
0. 제목
백준 2566 최댓값
BOJ 2566 최댓값
1. 문제 설명
아래 그림과 같이 9x9 격자판에 쓰여진 81개의 자연수가 주어질 때,
이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지를 출력하는 프로그램을 작성하시오.
그림과 같이 최대 81개의 수가 주어질때,
이 중 최댓값은 90이고, 이 값은 5행 7열에 위치한다.
-- 입력 : 첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 자연수가 주어진다.
주어지는 자연수는 100 보다 작다.
-- 출력 : 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우에는 그 중 한 곳의 위치를 출력한다.
2. 풀이 과정
-> 9x9이므로 쉽게 받기위해 이중 반복문을 이용하여 받습니다.
-> 최대값과 좌표만 알면 되므로, 따로 2차원 배열에 저장할 필요가 없습니다.
-> 숫자를 받으면서 비교하여 최대값을 구하고 그때의 좌표를 저장했다가 출력하면됩니다.
3. 소스코드
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 32 33 34 35 36 37 38 | //https://www.acmicpc.net/problem/2566 //BOJ_2566_최댓값 #include<iostream> #define N 9 using namespace std; int y, x; //max일때 y, x; int result; //max 값 void Solution(){ int tmp; for(int i=0; i<N; i++){ for(int j=0; j<N; j++){ cin >> tmp; if(tmp > result){ //바로 비교 y = i; x = j; result = tmp; } } } } void Output(){ cout << result << endl; cout << y+1 << " " << x+1; //배열의 index와 실제 위치 차이 } int main(void){ Solution(); Output(); return 0; } | cs |
4. 인증
문제 출처 - https://www.acmicpc.net/problem/2566
감사합니다.
'<알고리즘 문제풀이&연습> > [C++] 백준, 프로그래머스 등등' 카테고리의 다른 글
[백준 8958] OX퀴즈 (0) | 2017.10.27 |
---|---|
[백준 1620] 나는야 포켓몬 마스터 이다솜 (0) | 2017.10.21 |
[백준 2622] 삼각형 만들기 (0) | 2017.10.19 |
[백준 10818] 최소, 최대 (0) | 2017.10.18 |
[백준 2501] 약수 구하기 (0) | 2017.10.17 |
[백준 9506] 약수들의 합 (0) | 2017.10.16 |
[백준 2178] 미로탐색 (BFS-너비우선탐색) (6) | 2017.10.16 |
[백준 9663] N-Queen(DFS 깊이우선탐색) (0) | 2017.10.15 |