728x90
출처: 백준
문제
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
'프로그래밍 > 백준 알고리즘' 카테고리의 다른 글
[백준 / node.js] 3052번: 나머지 (0) | 2021.08.01 |
---|---|
[백준 / node.js] 2577번: 숫자의 개수 (0) | 2021.07.31 |
[백준 / node.js] 10818번: 최소, 최대 (0) | 2021.07.29 |
[백준 / node.js] 1110번: 더하기 사이클 (0) | 2021.07.28 |
[백준 / node.js] 10951번: A+B -4 (0) | 2021.07.27 |
댓글