10818번
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
let count = Number(input[0]);
let numbers = input[1].split(' ').map(x=> Number(x));
let min= numbers[0]
let max= numbers[0]
for (let i=0; i < count; i++) {
if (min > numbers[i]) {
min= numbers[i]
}
if (max < numbers[i]) {
max= numbers[i]
}
}
console.log(`${min} ${max}`)
검색해보던 중 내가 작성한 답안 말고 sort메소드를 사용하는걸 봤는데 훨씬 간단했다.
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
let count = Number(input[0]);
let numbers = input[1].split(' ').map(x=> Number(x));
numbers.sort((a, b) => a - b);
console.log(`${numbers[0]} ${numbers[count - 1]}`);
내림차순을 이용해서 0번째의 값은 최솟값이 마지막 값은 최댓값이 되는데 마지막 요소는 '배열의 길이-1'(count - 1) 을 해주면 된다.
2562번
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(x=> Number(x));
let count= 0;
let max= input[0];
for (let i = 1; i < 9; i++) {
if (max < input[i]) {
max = input[i];
count = i;
}
}
console.log(max);
console.log(count + 1);
다른 방법으로는 Math.max로 max값을 구하고 indexOf로 index 위치를 찾는것이다. (+1을 해주는 이유는 인덱스는 0부터 시작하기때문)
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(x=> Number(x));
let max = Math.max(...input)
console.log(max)
console.log(input.indexOf(max) + 1)