본문 바로가기
프로그래밍/백준 알고리즘

[백준 / node.js] 2562번: 최댓값

by 정빈e 2021. 7. 30.
728x90

출처: 백준

 

2562번: 최댓값

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어

www.acmicpc.net

문제

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

내 코드

const readline = require("readline");
const rl = readline.createInterface({
    input : process.stdin,
    output : process.stdout
});

let input = [];

rl.on("line", function(line){
    input.push(Number(line));
}).on("close", function(){
    let max = input[0];     //  입력 받은 값의 첫 번째 수 할당

    for(let i=1; i<=9; i++){    //  입력받은 두번 째수부터 첫 번째 수와 비교하여 최댓값 구하기
        if(max < input[i]){
            max = input[i];
        }
    }
    //  [ 3, 29, 38, 12, 57, 74, 40, 85, 61 ]
    console.log(max);
    console.log(input.indexOf(max)+1); //   최댓값의 index구하기
    process.exit();
})

결과

> 3
> 29
> 38
> 12
> 57
> 74
> 40
> 85
> 61
85
8

 

이번 문제는 지난 10818번: 최소, 최대 문제와 비슷하다.

첫 번째 입력받은 수를 나머지 수와 비교해서 큰 수를 max 변수에 넣었다.

 

그리고 난 뒤 indexOf(...)를 사용해서 몇 번째 수인지 구했다. indexOf(...)는 0부터 시작이기 때문에 +1을 했다.

 

 

 

728x90

댓글