문제 설명
머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요
제한사항
- 10 ≤ price ≤ 1,000,000
- price는 10원 단위로(1의 자리가 0) 주어집니다.
- 소수점 이하를 버린 정수를 return합니다.
입출력 예 설명
입출력 예 #1
- 150,000원에서 5%를 할인한 142,500원을 return 합니다.
입출력 예 #2
- 580,000원에서 20%를 할인한 464,000원을 return 합니다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int price)
{
int answer = 0;
if (100000<=price && price<300000)
answer = price*0.95;
else if(300000<=price&& price<500000)
answer = price*0.9;
else if(500000<=price&& price<=1000000)
answer = price*0.8;
else
answer = price;
return answer;
}
처음에 조건문 안 연산자를 (10000<=price<30000) 이런식으로 둬서 왜 안될까? 고민했는데
조건문 안 연산자를 저따위로 쓰면 안된다.. &&를 사용해서 써야한다
처음에 짰던 바보 코드
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int price)
{
int answer = 0;
if (100000<=price<300000)
answer = price*0.95;
else if(300000<=price<500000)
answer = price*0.9;
else if(500000<=price<=1000000)
answer = price*0.8;
else
answer = price;
return answer;
}
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
'프로그래머스 > level 0' 카테고리의 다른 글
[C] 나이 출력 (0) | 2023.01.25 |
---|---|
[C] 아이스 아메리카노 (0) | 2023.01.25 |
[C] 배열의 평균값 (0) | 2023.01.25 |
[C] 피자 나눠 먹기(3) (0) | 2023.01.25 |
[C] 피자 나눠먹기(2) (0) | 2023.01.24 |