-- 예전 기록/BOJ

[ BOJ ] 2562 : 최댓값 ( BRONZE 3 ) / C, C++, Python, Java

rejo 2023. 9. 15. 14:28

문제

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);
    }
}