문제
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
입력
첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.
출력
첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.
풀이 과정
문제에 적힌 대로, 9개의 자연수를 저장하고 최댓값과 최댓값의 위치를 찾으면 된다.
C
#include <stdio.h>
int main(void) {
int arr[9] = {0,};
for (int i = 0; i < 9; i++) scanf("%d", &arr[i]);
int max_value = arr[0];
int max_idx = 0;
for (int i = 1; i < 9; i++) {
if (max_value < arr[i]) {
max_value = arr[i];
max_idx = i;
}
}
printf("%d\n%d", max_value, max_idx + 1);
return 0;
}
C++
#include <iostream>
using namespace std;
int main(void) {
int arr[9] = {0,};
for (int i = 0; i < 9; i++) cin >> arr[i];
int max_value = arr[0];
int max_idx = 0;
for (int i = 1; i < 9; i++) {
if (max_value < arr[i]) {
max_value = arr[i];
max_idx = i;
}
}
cout << max_value << "\n" << max_idx + 1;
return 0;
}
Python
import sys
input = sys.stdin.readline
arr = [int(input().rstrip()) for _ in range(9)]
max_value = arr[0]
max_idx = 0
for i in range(1, 9):
if max_value < arr[i]:
max_value = arr[i]
max_idx = i
print(max_value)
print(max_idx + 1)
Java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int arr[] = new int[9];
for (int i = 0; i < 9; i++)
arr[i] = sc.nextInt();
int max_value = arr[0];
int max_idx = 0;
for (int i = 1; i < 9; i++) {
if (max_value < arr[i]) {
max_value = arr[i];
max_idx = i;
}
}
System.out.println(max_value);
System.out.println(max_idx + 1);
}
}
'-- 예전 기록 > BOJ' 카테고리의 다른 글
[ BOJ ] 1613 : 역사 ( GOLD 3 ) / Python (0) | 2023.09.15 |
---|---|
[ BOJ ] 10810 : 공 넣기 ( BRONZE 3 ) / C, C++, Python, Java (0) | 2023.09.15 |
[ BOJ ] 10818 : 최소, 최대 ( BRONZE 3 ) / C, C++, Python, Java (0) | 2023.09.12 |
[ BOJ ] 10871 : X보다 작은 수 ( BRONZE 5 ) / C, C++, Python, Java (0) | 2023.09.12 |
[ BOJ ] 10159 : 저울 ( GOLD 4 ) / Python (0) | 2023.09.11 |