문제
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
입력
첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.
출력
첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.
| 예제입력 | 예제출력 |
| 2 39 38 12 57 74 40 85 61 |
85 8 |
⭕ 풀이
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(x=>Number(x));
let max=input[0];
let maxIdx=0;
for(let i=1;i<input.length;i++){
if(max<input[i]){
max=input[i];
maxIdx=i;
}
}
console.log(max);
console.log(maxIdx+1);
max를 선언해주고 i++하며 max에 큰수가 들어있는 상태가된다.
그렇게 다 돌면 최대값이 들어가고 값을받는과정에서 i값도 받는다.
처음에 max 를 구한뒤 max == input[j] 이렇게
변수j를 따로선언한뒤 이중for문을 해야하나 했는데
그냥 max값을 받을 때 해당자리 즉i값도 받아가면 되는거였다..
한번에 두값을 받을 생각은 못했다..
-출처
https://www.acmicpc.net/problem/2562
'Algorithm > Baekjoon(Node.js)' 카테고리의 다른 글
| [JavaSrcipt] Baekjoon - 2577 : 숫자의 개수(set중복제거) (0) | 2021.09.03 |
|---|---|
| [JavaSrcipt] Baekjoon - 2577 : 숫자의 개수 (0) | 2021.09.02 |
| [JavaSrcipt] Baekjoon - 10818 : 최소,최대 (sort,map) (0) | 2021.09.01 |
| [JavaSrcipt] 선언, 재할당 (var,let,const) (0) | 2021.08.31 |
| [JavaSrcipt] Baekjoon - 1110 : 더하기 사이클 (0) | 2021.08.31 |