function getTotalOutstandingAndsendBill(){
const result = customer.invoices.reduce((total,each)=>each.amount +total,0);
sendBill();
return result;
}
//์ง์ ํจ์์ ๋ณ๊ฒฝ ํจ์ ๋ถ๋ฆฌํ๊ธฐ
function totalOutstanding(){
return customer.invoices.reduce((total,each)=>each.amount +total,0);;
}
function sendBill(){
emailGateway.send(formatBill(customer));
}
function alertForMiscreant(people){
for(const p of people){
if(p==='์กฐ์ปค'){
setOffAlarms();
return '์กฐ์ปค';
}
if(p==='์ฌ๋ฃจ๋ง'){
setOffAlarms();
return '์ฌ๋ฃจ๋ง';
}
}
return '';
}
//========= ์ง์ ํจ์์ ๋ณ๊ฒฝ ํจ์ ๋ถ๋ฆฌํ๊ธฐ
function findMiscreant(people){
for(const p of people){
if(p==='์กฐ์ปค'){
return '์กฐ์ปค';
}
if(p==='์ฌ๋ฃจ๋ง'){
return '์ฌ๋ฃจ๋ง';
}
}
return '';
}
function alertFormiscreant(people){
for(const p of people){
if(p==='์กฐ์ปค'){
setOffAlarms();
return ;
}
if(p==='์ฌ๋ฃจ๋ง'){
setOffAlarms();
return;
}
}
return;
}
const found = findMiscreant(people);
alertFormiscreant(people);
//======== findMiscreant๋ alertFormiscreant ์ ์ค๋ณต๋ ์ฝ๋ ํฉ์น๊ธฐ
function alertForMiscreant(people){
if(findMiscreant(people)!=="")setOffAlarms();
}
function baseCharge(usage){
if(usage<0)return usd(0);
const amount =
bottomBand(usage)*0.03
+ middleBand(usage)*0.05
+ topBand(usage)*0.07;
return usd(amount);
}
function bottomBand(usage){
return Math.min(usage,100);
}
function middleBand(usage){
return usage>100? Math.min(usage,200)-100:0;
}
function topBand(usage){
return usage>200?usage-200:0;
}
//ํจ์ ๋งค๊ฐ๋ณ์ํํ๊ธฐ
function withinBand(usage,bottom,top){
return usage>bottom?Math.min(usage,top)-bottom:0;
}
function baseCharge(usage){
if(usage<0)return usd(0);
const amount =
withinBand(usage,0,100)*0.03
+ withinBand(usage,100,200)*0.05
+ withinBand(usage,200,Infinity)*0.07;
return usd(amount);
}
ํ๋๊ทธ ์ธ์ : ํจ์ ๋ด์์ ์ ์ด ํ๋ฆ์ ๊ฒฐ์ ํ๋ ๋ฐ ์ฌ์ฉํด์ผ ํ๋ค.
ํ๋๊ทธ ์ธ์ ์์ด ๊ตฌํํ๋ ค๋ฉด ํ๋๊ทธ ์ธ์๋ค์ ๊ฐ๋ฅํ ์กฐํฉ ์ ๋งํผ์ ํจ์๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.
๊ฐ์ ๋ก์ง์ ์กฐํฉํด๋ด๋ ๋ ๊ฐ๋จํ ํจ์๋ฅผ ๋ง๋ค ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํด์ผ ํ๋ค.
๋ถ๋ฆฌ์ธ ๊ฐ : ํธ์ถ์์ ์๋๋ฅผ ์ ์ ์์. ๋ช ์์ ์ธ ํจ์๋ฅผ ์ฌ์ฉํด ํธ์ถ์์ ์๋๋ฅผ ๋ถ๋ช ํ ๋ฐํ ๊ฒ.
๋ก์ง์ด ๋ณต์กํด ๋ช ์์ ์ธ ํจ์ ์์ฒด๋ฅผ ๋ง๋ค๊ธฐ ๊น๋ค๋กญ๋ค๋ฉด, ๋ํํจ์๋ก ํจ์๋ฅผ ๊ฐ์ธ๋ผ.
๋งค๊ฐ๋ณ์๊ฐ ๋ณํด๋ ๋ฐ๊ฟ ํ์๊ฐ ์๋ค.
์ธํฐ => ๊ฐ ๋ณ๊ฒฝํ ์ ์๋ค. ๋ณ๊ฒฝ๋์ด์๋ ์๋๋ ๊ฐ์ ์ธํฐ๋ฅผ ์ ๊ฑฐํ์.
1. ๊ทธ ์์ฑ์๋ฅผ ์ ์ํ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ฐํํด์ผ ํ๋ค.- ์๋ธ ํด๋์ค์ ์ธ์คํด์ค๋ ํ๋ฝ์๋ฅผ ๋ฐํํ ์ ์๋ค.
2. ์์ฑ์ ์ด๋ฆ์ด ์ ํด์ ธ ์๋ค.
3. ํน๋ณํ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด์ผ ํด์ ์ผ๋ฐ ํจ์๊ฐ ์ค๊ธธ ๊ธฐ๋ํ๋ ์๋ฆฌ์๋ ์ฐ๊ธฐ ์ด๋ ต๋ค.
๋ช ๋ น ๊ฐ์ฒด๋ ๋ณต์กํ ์ฐ์ฐ์ ๋ค๋ฃฐ ์ ์๋ ๊ฐ๋ ฅํ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํ๋ค.
๋ช ๋ น ๊ฐ์ฒด๋ ํน์ ํจ์๋ฅผ ์ํ ํด๋์ค๋ฅผ ๋ง๋ค๊ณ ๊ทธ ํจ์์ ์ฐ๊ด๋ ํจ์๋ ๋ณ์๋ฅผ ํด๋์ค์ ์ชผ๊ฐ ๋ฃ์ด์
์ชผ๊ฐ์ง ๋ฉ์๋๋ค๋ผ๋ฆฌ ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์๋๋ก ํ๋ค.
๋ง์ฝ, ๋ก์ง์ด ๋ณต์กํ์ง ์๋ค๋ฉด ํ๋ฒํ ํจ์๋ก ๋ฐ๊ฟ์ฃผ๋ ๊ฒ ๋ซ๋ค.
๋ช ๋ น์ ํจ์๋กค ๋ฐ๊พธ๊ธฐ ์ํด์๋ ๋ณด์กฐ ํจ์๋ฅผ ๋ฉ์ธํจ์์ ์ธ๋ผ์ธํ์ฌ ํจ์๋ฅผ ๋จ์ผํ ํ๋ค.
๋ณ์๋ฅผ ๊ฐฑ์ ํ๋ ํจ์๋ผ๋ฉด ์์ ๋ ๊ฐ์ ๋ฐํํ์ฌ ํธ์ถ์๊ฐ ๊ทธ ๊ฐ์ ๋ณ์์ ๋ด์๋๋๋ก ํ์.
function calculateAscent(){
for (let i =1;i<points.length;i++){
const verticalChange = points[i].elevation - points[i-1].elevation;
totalAscent += (verticalChange>0) ? verticalChange : 0;
}
}
calculateAscent์์์ totalAscent๊ฐ ๊ฐฑ์ ๋๋ค๋ ์ฌ์ค์ด ๋๋ฌ๋์ง ์์ผ๋ฏ๋ก calculateAscent()์ ์ธ๋ถ ํ๊ฒฝ์ด ์ด๋ป๊ฒ ์ฐ๊ฒฐ๋๋์ง๊ฐ ์จ๊ฒจ์ง๋ค.
์์ธ(ํ๋ก๊ทธ๋จ์ ์ ์ ๋์ ๋ฒ์ฃผ์ ๋ค์ง ์๋ ์ค๋ฅ๋ฅผ ๋ํ๋ผ ๋).
์์ธ๋ฅผ ๋์ง๋ ์ฝ๋๋ฅผ ํ๋ก๊ทธ๋จ ์ข ๋ฃ ์ฝ๋๋ก ๋ฐ๊ฟ๋ ํ๋ก๊ทธ๋จ์ด ์ฌ์ ํ ์ ์ ๋์ํ ์ง๋ฅผ ๋ฐ์ ธ๋ณด๋ ๊ฒ์ด๋ค. ์ ์ ๋์ํ์ง ์์ ๊ฒ ๊ฐ๋ค๋ฉด ์์ธ๋ฅผ ์ฌ์ฉํ์ง ๋ง๋ผ๋ ์ ํธ์ด๋ค.
์์ธ ๋์ ์ค๋ฅ๋ฅผ ๊ฒ์ถํ์ฌ ํ๋ก๊ทธ๋จ์ ์ ์ ํ๋ฆ์ผ๋ก ๋๋๋ฆฌ๊ฒ๋ ์ฒ๋ฆฌํด์ผ ํ๋ค.
๋ฏธ๋ฆฌ ๊ฒ์ฌํ์
| [์ฑ ์ฝ๊ธฐ] ์คํ๋ง ๊ต๊ณผ์ - ์คํ๋ง ๊ธฐ๋ณธ ๊ฐ๋ ์ ๋ค์ ํ ๋ฒ ์ ๋ฆฌํ๋ฉฐ (0) | 2024.10.03 |
|---|---|
| "์ก๊ฐํ ๊ฐ๋ฐ์", "์์ฆ ์ฐ์ํ ๊ฐ๋ฐ"์ ์ฝ์ผ๋ฉฐ... (0) | 2024.06.19 |
| 10. ์กฐ๊ฑด๋ถ ๋ก์ง ๊ฐ์ํ (0) | 2021.11.04 |
| 9. ๋ฐ์ดํฐ ์กฐ์งํ (0) | 2021.11.04 |
| 8. ๊ธฐ๋ฅ ์ด๋ (0) | 2021.10.11 |