백준 1246 실버4 좀 도와주세요ㅠㅠ

백준 1246 실버4 좀 도와주세요ㅠㅠ

작성일 2023.04.29댓글 1건
    게시물 수정 , 삭제는 로그인 필요

이거 어디가 잘못된건가요? ㅠㅠ 하루종일 생각해봐도 모르겠네요..

문제: https://www.acmicpc.net/problem/1246

제 풀이: 

const solution = (N, M, array) => {
    array.sort((a,b) => b - a);
    
    let maxPrice = -Infinity;
    let price = 0;
    
    for(let i=0; i<M; i++) {
        if(N <= 0) break;
        
        else {
            const tempMax = array[i] * (i + 1);
            
            if(tempMax >= maxPrice) {
                N--;
                maxPrice = tempMax;
                price = array[i];
            }
        }
    }
    
    return [price, maxPrice].join(' ');
}

const input = [first, ...rest] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');

const [N, M] = first.split(' ').map(Number);

const array = rest.map(Number);

console.log(solution(N, M, array));


#백준 1246 #백준 1246 파이썬

profile_image 익명 작성일 -

const solution = (N, M, array) => { array.sort((a,b) => b - a); let maxPrice = -Infinity; let price = 0; for(let i=0; i<M && i<N; i++) { const tempMax = array[i] * (i + 1); if(tempMax >= maxPrice) { maxPrice = tempMax; price = array[i]; } } return [price, maxPrice].join(' '); } const input = [first, ...rest] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n'); const [N, M] = first.split(' ').map(Number); const array = rest.map(Number); console.log(solution(N, M, array));

break 을 없앤것은 잘 하셨는데, N 이전까지 가야하는 것은 잘 못 하셨네요. 조금 바꾸어보았습니다. 온라인에서 바꾼 것이라 실제 돌려보지는 않았습니다.