출처: www.acmicpc.net/problem/2562
최댓값 성공출처분류
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
1 초 | 128 MB | 65681 | 32028 | 28494 | 49.557% |
문제
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
입력
첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.
출력
첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.
예제 입력 1
3
29
38
12
57
74
40
85
61
예제 출력 1
85
8
C언어에서 가장 자주 나오고 기본이 되는 문제라고 생각한다.
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓갓을 찾고 그 최댓값이 몇번째수인지를 구하는 프로그램인데
배열에 들어간 수를 차례대로 비교해가면서 어떤게 최댓값인지 확인하고 그 위치를 확인해야한다.
먼저 반복문에서 입력하는 값을 input, 몇 번째수인지 표시하는 값을 index, 그리고 최댓값은 max로 변수를 선언한 뒤,
반복문에서 입력하는 값들을 배열 arr[9]에 넣어준다.
최댓값은 처음에 arr[0]으로 설정하고, 반복문안의 조건문에서 배열 arr[i]의 i값을 차례로 증가시켜 어떤게 더 큰지
비교를 해보면 된다. 그리고 더 클 경우에는 index값을 증가시켜주고 작을 경우에는 반복문을 이어나가면 된다.
모든 과정을 거치고 나서는 최댓값과 그 값이 몇 번째 수인지 출력하면 끝난다.
.
어떻게 돌아가는지만 알면 매우 쉽게 풀리는 문제였다. C언어를 배우는 초기에 다뤘던 문제로 기억한다.
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
|
#include <stdio.h>
int main(void)
{
int input, index, max;
int arr[9];
for(int i=0; i<9;i++){
scanf("%d",&input);
arr[i] = input;
}
index=1;
max=arr[0];
for(int i=0; i<9;i++){
if(max<arr[i]){
max = arr[i];
index = (int)i+1;
}
}
printf("%d\n%d",max,index);
}
|
cs |
'Baekjoon Online' 카테고리의 다른 글
[python] 백준 1019번_책 페이지 (0) | 2021.01.10 |
---|---|
[python] 백준 1935번_후위 표기식2 (0) | 2021.01.09 |
[C] 백준 2588번_곱셈 (0) | 2021.01.07 |
[C] 백준 2798번_블랙잭 (0) | 2021.01.06 |
[python] 백준 8958번_OX퀴즈 (0) | 2021.01.05 |