인프런 커뮤니티 질문&답변
최대 매출 코드 질문 드립니다!
작성
·
210
0
const maximumsales = (n,arr) => {
let answer;
let p1=p2=sum=0;
let max=Number.MIN_SAFE_INTEGER;
for(p1=0; p1<arr.length; p1++){
sum+=arr[p1];
if(p1>2)sum-=arr[p2++]
if(sum>max){
max=sum;
answer=max;
} }
return answer;
}
let a = [12,15,11,20,25,10,20,19,13,15];
console.log(maximumsales(3,a));
안녕하세요 선생님! 항상 수업 잘 듣고 있습니다!
제 코드 좀 봐주실 수 있을까요?
그리고 if 문을 연속해서 썼는데 괜찮은건지 잘 모르겠어요. 숫자를 여러번 바꿔보았는데 답은 잘 나오긴 하더라구요 ..
그리고 항상 문제의 코드를 짤 때 어렵고 복잡한 문법들은? 되도록 지양하면서 기본적인 문법으로 쉽게 짜려고 하는데요. 이게 문제가 될까요?
또 제가 어디가 부족한지 짚어주시면 정말 감사하겠습니다!
답변 1
2
김태원
지식공유자
안녕하세요^^
위 코드은 기간이 3일로 고정된 코드입니다.
console.log(maximumsales(5,a));
로 바꿔도 3일간의 기간으로만 구할 겁니다.
코드는 어려운 문법을 지양하고 쉬운 문법으로 가독성이 좋게, 그러면서도 효율성(시간복잡도)이 좋은 코드를 짜는게 맞습니다. 쉬운 문법을 이용해 어려운 문제를 해결한다면 진짜 실력이 좋은 사람이죠.





