#include <string>
#include <vector>
using namespace std;
int solution(int price) {
int answer = 0;
if (price >= 100000)
answer = price * 0.95;
else if (price >= 300000)
answer = price * 0.9;
else if (price >= 500000)
answer = price * 0.8;
return answer;
}
정말 간단한 문제라 금방 코딩을 했는데 계속 테스트 케이스 에러가 발생했다. 그래서 생각해 보니 분기문의 순서가 잘못된 것을 깨달았다. 수정된 코드는 다음과 같다.
#include <string>
#include <vector>
using namespace std;
int solution(int price) {
int answer = 0;
if (price >= 500000)
answer = price * 0.8;
else if (price >= 300000)
answer = price * 0.9;
else if (price >= 100000)
answer = price * 0.95;
else
answer = price;
return answer;
}
이렇게 price가 500,000원 이상일 경우를 첫 번째 분기로 설정하면 이 금액보다 적은 금액들이 입력값으로 들어올 경우 정상적으로 분기가 처리된다. 이런 실수를 하지 말자.