It Study/코딩테스트 연습
프로그래머스 lv0 - 양꼬치
prlkt5200
2024. 9. 17. 23:04
반응형
아직 갈 길은 멀지만 문제를 풀다보면 실력이 늘어가겠죠?? 빨리 lv3 문제도 자유로이 풀 수 있었음 합니다 ㅎㅎ
class Solution {
public int solution(int n, int k) {
//10인분에 음료 1개 추가
int service = (n/10);
int totalPay =0;
return totalPay =(n*12000)+((k-service)*2000);
}
}
아래는 다른 사람의 풀이입니다. 객체지향의 기본을 잘보여주는데다, enum을 활용하는 것도 인상적이었습니다.
class Solution {
public int solution(int n, int k) {
int lambTotalPrice = totalPrice(Menu.LAMB, n);
int drinkTotalPrice = totalPrice(Menu.DRINK, k);
int discountPrice = discount(Menu.DRINK, n);
int totalPay = lambTotalPrice + drinkTotalPrice - discountPrice;
return totalPay;
}
private int totalPrice(Menu menu, int quantity) {
return menu.getPrice() * quantity;
}
private int discount(Menu menu, int lambQuantity) {
// 양꼬치 10인분에 음료수 하나
int point = lambQuantity / 10;
return menu.getPrice() * point;
}
}
enum Menu {
LAMB("양꼬치", 12000),
DRINK("음료수", 2000);
private final String name;
private final int price;
Menu(String name, int price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
}
반응형