Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- K-Digital Credit
- 오블완
- 자격증
- SQL 개발자
- 구름edu
- 노마드코더
- Do it! 시리즈
- 백준
- 노개북
- 노마드 코더
- 비전공자를 위한
- CodeStates
- boj
- js
- 프로그래머스
- javascript
- SQLD
- 최원영 저자
- 자바스크립트
- 알고리즘
- 엘리스코딩
- 모던 자바스크립트 deep dive
- 개발자북클럽
- 공부를 가장한 일기일지도
- 이해할 수 있는
- nomadcoders
- 톺아보기
- 티스토리챌린지
- IT 지식
- 제로베이스
Archives
- Today
- Total
개발자를 희망하는 초보의 자기개발 이야기
백준 2562번 최댓값 문제 - Node.js 본문
반응형

문제 원문 링크
문제
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
풀이1
const fs = require("fs");
const input = fs
.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n")
.map(Number);
let maxNum = 0;
let idx = 0;
for (let num of input) {
if (num > maxNum) {
maxNum = num;
idx = input.indexOf(num);
}
}
console.log(maxNum);
console.log(idx+1);
반복문으로 배열을 순회하고( for .. of 를 적용해봤다.) 이때 if문을 통해 최댓값을 갱신한다.
최댓값이 갱신될 때마다 해당 최대값을 indexOf 메서드로 조회해 인덱스를 찾는다.
최종 출력에서 인덱스 +1 을 해야 몇 번째 수인지 알 수 있다.
실행 시간은 92ms였다.
풀이2
const fs = require("fs");
const input = fs
.readFileSync("dev/stdin")
.toString()
.trim()
.split("\n")
.map(Number);
let maxNum = Math.max(...input);
let idx = input.indexOf(maxNum);
console.log(maxNum);
console.log(idx + 1);
메서드를 통해 간단히 풀어보면서 실행시간을 비교해봤다.
Math.max 메서드를 통해 최대값을 찾았고,
indexOf에 해당 최대값을 넣어 인덱스를 찾는다.
실행시간은 88ms 였다.
반응형
'자료구조&알고리즘 > BOJ(백준 온라인 저지)' 카테고리의 다른 글
백준 10813번 공 바꾸기 문제 - Node.js (0) | 2024.10.22 |
---|---|
백준 10810번 공 넣기 문제 - Node.js (0) | 2024.10.22 |
백준 10818번 최소, 최대 문제 - Node.js (0) | 2024.10.21 |
백준 2439번 별 찍기 - 2 문제 - Node.js (0) | 2024.10.17 |
백준 15552번 빠른 A+B 문제 - Node.js (1) | 2024.10.17 |