문제 1. 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.
function solution(price) {
let answer = 0;
let discountRate = 0;
if (price >= 500000) {
discountRate = 0.2; // 50만 원 이상일 때 20% 할인
} else if (price >= 300000) {
discountRate = 0.1; // 30만 원 이상일 때 10% 할인
} else if (price >= 100000) {
discountRate = 0.05; // 10만 원 이상일 때 5% 할인
}
answer = Math.floor(price - (price * discountRate));
return answer;
}
입력받은 가격 price를 기준으로 할인율 discountRate를 계산합니다. 조건문을 사용하여 price가 일정 금액 이상인 경우에 해당하는 할인율을 적용합니다. 할인율을 적용한 후, 할인된 가격을 answer 변수에 저장하고 반환합니다.
또한 소수점 이하는 버려야 하기 때문에 Math.floor을 사용합니다.
문제 2. 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
function solution(money) {
let answer = [];
const americanoPrice = 5500;
let maxCups = Math.floor(money / americanoPrice); // 최대로 마실 수 있는 아메리카노의 잔 수
let remainingMoney = money - (maxCups * americanoPrice); // 남는 돈
answer.push(maxCups);
answer.push(remainingMoney);
return answer;
}
아메리카노 한 잔의 가격을 americanoPrice 변수에 저장하고, 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 계산하여 배열 answer에 순서대로 담습니다. Math.floor 함수를 사용하여 정수로 최대 잔 수를 구합니다.
문제 3. 머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요.
function solution(age) {
let answer = 2022 - age + 1; // 2022년을 기준으로 출생 연도 계산
return answer;
}
주어진 나이 age를 이용하여 2022년을 기준으로 출생 연도를 계산합니다. 주어진 나이에서 1을 빼고 2022를 더하면 출생 연도가 됩니다.
문제 4. 정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.
function solution(num_list) {
let answer = num_list.reverse(); // 배열의 순서를 거꾸로 뒤집음
return answer;
}
reverse 메서드를 사용하여 주어진 배열 num_list의 순서를 거꾸로 뒤집습니다. 뒤집어진 배열을 answer 변수에 저장하고 반환합니다.
reverse() :
이 메서드는 배열의 순서를 거꾸로 뒤집습니다. 이 메서드는 원본 배열을 직접 변경하며, 뒤집힌 배열을 반환합니다.