02.
질의응답 창을 이용하여 4분기 판매량을 입력하고, 전 분기 평균 판매량보다 판매량이 높거나 같을 경우에는 '판매량이 평균 이상입니다.' 라고 출력하고, 낮을 경우에는 평균 미달입니다. 라고 화면에 출력하세요.
(사진이 없지만 1분기 : 1200 / 2분기 : 1300 / 3분기 : 1000 입니다.)
=== 풀 이 ===
일단 1~3분기에 있는 값과 4분기의 값을 넣기 위해서 다른 풀이와는 조금 다르게 저는 배열을 사용하였습니다.
var quarter = [1200,1300,1000,null];
quarter이라는 배열 인덱스 기준 3번째에 null 값으로 비워두고 나머지는 1~3분기 액수를 채웠습니다.
그리고 1~3분기 모든 값의 평균 판매량을 알기 위해 평균값을 구해줍니다.
var avg = (quarter[0] + quarter[1] + quarter[2]) / 3;
결론적으로 avg 에는 (1200 + 1300 + 1000) / 3 의 값이 저장됩니다.
그리고 4분기를 입력받습니다.
quarter[3] = prompt("4분기 판매량을 입력하세요", "0");
이제 조건을 분석합니다. 계산을 해보면 avg = 1166.666666666667 이 나옵니다.
그럼 quarter[3] 의 입력값이 1166.666666666667 보다 크면 평균이상을 출력하고, 그 이하라면 평균미달이라고 표시하면 되겠군요.
하지만 조건을 보면 판매량이 높거나 같을 경우에는 '판매량이 평균 이상입니다.' 라고 출력 이라는 조건이 있습니다.
만약 1~3분기 판매량도 소수점이고, 4분기 입력값도 소수점이라면 ??? 계산할 수 있지만 지금은 모두 정수형이라는 가정하에 진행하였습니다.
소수점으로 입력될 수 있는 결과와 입력값 모두를 방지하기 위해 이 부분도 형변환 시키겠습니다.
먼저
avg 가격을 인트형으로 변환합니다. 인트형은 소수점 뒷자리는 버림 처리합니다. 그럼으로 avg 가격은 1166 이 됩니다.
var avg = parseInt((quarter[0] + quarter[1] + quarter[2]) / 3);
그후 입력되는 4분기 값을 소수점을 사라지게 하기 위해 동일하게 인트형으로 변환합니다.
quarter[3] = parseInt(prompt("4분기 판매량을 입력하세요", "0"));
그 후 비교를 시작합니다.
if(quarter[3] >= avg){
document.write("판매량이 평균 이상입니다.");
}else{
document.write("판매량이 평균 미달입니다.");
}
'JavaScript' 카테고리의 다른 글
템플릿 문자열 (0) | 2020.08.25 |
---|---|
Javascript 내장객체 (0) | 2020.03.27 |
[Do it] Javascript 반복문 ( 구구단 출력 ) (2) | 2020.03.26 |
[Do it] Javascript 도전 미션 - 1 (0) | 2020.03.25 |
자바스크립트 기초문법 ( 변수 ) (0) | 2020.03.25 |