반응형
예제 설명
머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 10 ≤ price ≤ 1,000,000, price는 10원 단위로(1의 자리가 0) 주어집니다.
- 소수점 이하를 버린 정수를 return합니다
입출력 예 => num_list result
price | result |
150,000 | 142,500 |
580,000 | 464,000 |
입출력 예 설명
입출력 예 #1
150,000원에서 5%를 할인한 142,500원을 return 합니다.
입출력 예 #2
580,000원에서 20%를 할인한 464,000원을 return 합니다.
문제 해결
해결법 : else-if 대신 그냥 if 문의 3개 쓰기 ( 여러 if문의 )
#include <string>
#include <vector>
using namespace std;
int solution(int price) {
if(price >= 500000) {
return price * 0.8;
}
if(price >= 300000) {
return price * 0.9;
}
if(price >= 100000) {
return price * 0.95;
}
return price;
}
해결법 2 : 할인 배열 만들기
#include <iostream>
using namespace std;
int solution(int price) {
int discounts[] = {0, 5, 10, 20};
int cutoffs[] = {0, 100000, 300000, 500000};
int discounted_price = price;
for (int i = 3; i > 0; --i) {
if (price >= cutoffs[i]) {
discounted_price = price * (100 - discounts[i]) / 100;
break;
}
}
return discounted_price;
}
자바스크립트 [ Jacascript ] 언어로 해결
function solution(price) {
if(price >= 500000){
return Math.floor(price - price * 0.2);
}else if(price >= 300000){
return Math.floor(price - price * 0.1);
}else if(price >= 100000){
return Math.floor(price - price * 0.05);
}
return price;
}
파이썬 [ Python ] 해결
def solution(price):
if price >= 500000:
answer = price * .80
elif price >= 300000:
answer = price * .90
elif price >= 100000:
answer = price * .95
else:
answer = price
return int(answer)
반응형
'Computer Science > Programmers' 카테고리의 다른 글
[프로그래머스] 최댓값 만들기 (2) Javascript (1) | 2024.01.18 |
---|---|
[ 프로그래머스 ] 가까운 1 찾기 C++, JS 풀이 (0) | 2024.01.17 |
[C++] 프로그래머스 배열 뒤집기, Reverse an Array (0) | 2023.12.26 |
[ 프로그래머스 ] 🚑 진료 순서 정하기 | C++, Javascript (2) | 2023.06.19 |
[ 프로그래머스 ] 수열과 구간 쿼리 2, C++, Javascript (0) | 2023.06.19 |