220325 백준 최댓값
백준 2562번 문제
문제
- 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
- 예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
입력
- 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다.
- 주어지는 자연수는 100 보다 작다.
출력
- 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.
예제 입,출력
내 풀이
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().split("\n");
let big = 0;
let order = 0;
for (let i = 0; i < input.length; i++) {
if (big < Number(input[i])) {
big = Number(input[i]);
order = i + 1;
}
}
console.log(big);
console.log(order);
- 반복문으로 큰 수가 나온다면 그 숫자를
big이라는 변수에 넣어주고 - i도 order라는 변수에 +1 해주면서 함께 재선언한다
- 로그에 출력하면 정답
나의 다른 풀이
let big = input.reduce((tot, cur, i) => (tot < cur ? cur : tot), 0);
console.log(big);
console.log(input.indexOf(big) + 1);
- reduce 함수로 최대값을 골라내고
- 그 최대값을 출력하고
- indexOf 메서드로 +1 해준 값을 출력한다
Author And Source
이 문제에 관하여(220325 백준 최댓값), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@nulee1000/220325-백준-최댓값저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)