728x90
[Javascript] (백준 2217) 로프
💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.
내 풀이
//* 인풋 (디폴트)
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = require('fs').readFileSync(filePath).toString().split('\n');
//* 인풋 (커스텀)
const [n, ...nums] = input.map((num) => +num);
//* 함수 콜 (고정)
let answer = solution(n, nums);
answer = typeof answer === 'number' ? answer : answer.trim();
console.log(answer);
//* 로직함수
function solution(n, nums) {
nums.sort((a, b) => b - a);
let max = nums[nums.length - 1] * nums.length;
for (let i = 0; i < n; i++) {
nums.pop();
if (nums[nums.length - 1] * nums.length > max) {
max = nums[nums.length - 1] * nums.length;
}
}
return max;
}
다른 사람 풀이
//* 로직함수
function solution(n, nums) {
nums.sort((a, b) => b - a);
let max = 0;
for (let i = 0; i < n; i++) {
nums.pop();
max = Math.max(max, nums[nums.length - 1] * nums.length);
}
return max;
}
다른 사람 풀이 중 if문 대신 max = Math.max() 한줄로 최댓값을 거르는 부분이 있는걸 확인했습니다.
max = Math.max(max, nums[nums.length - 1] * nums.length);
if문으로 확인하는것보다 이 방식이 가독성도 좋고 라인도 짧아 훨씬 좋다고 생각합니다.
'Coding Test > JavaScript' 카테고리의 다른 글
[Javascript] (백준 2839) 설탕 배달 (0) | 2022.06.28 |
---|---|
[Javascript] (백준 20291) 파일 정리 (0) | 2022.06.27 |
[Javascript] (백준 1259) 팰린드롬 수 (0) | 2022.06.27 |
[Javascript] (백준 10816) 숫자 카드2 (0) | 2022.06.26 |
[Javascript] (백준 1764) 듣보잡 (0) | 2022.06.26 |
[Javascript] (백준 11728) 배열 합치기 (0) | 2022.06.25 |
[Javascript] (백준 20053) 최소, 최대2 (0) | 2022.06.25 |
[Javascript] (백준 1212) 8진수 2진수 (0) | 2022.06.25 |
댓글