[Leetcode] 860. Lemonade Change
Algorithm2021. 11. 19. 15:54
반응형
1. 시작이 5가 아니면 무조건 false 임
2. 시작이 5라면 이후
5$인 손님은 pass
10$인 손님은 5$를 주고
20$인 손님은 15$를 줘야됨
IDEA 5$,10$ 카운트를 각각 만들자
5$인 손님이 오면 -> 5카운트 증가
10인 손님이 오면
이때 5카운트가 0이라면 false 리턴
10카운트 증가 후 5카운트 감소
20인 손님이 오면
10$ , 5$ 1개 씩 주면 됨
5$ 3개를 줘도됨
위 아래 순서 중요함 잘 생각해봐야함
class Solution {
public:
bool lemonadeChange(vector<int>& bills)
{
int f_count = 0; // 5$ 개수
int t_count = 0; // 10$ 개수
if(bills[0] != 5) return false; // 2. 내용
for(int i=0; i<bills.size(); i++)
{
if(bills[i] == 5)
f_count++;
else if(bills[i] == 10)
{
if(f_count == 0)
return false;
t_count++;
f_count--;
}
else if(bills[i] == 20)
{
if(f_count > 0 && t_count > 0) //5$랑 10$으로 거스름
{
f_count--;
t_count--;
}
else if(f_count >= 3) // 5$ 3개로 거스름
f_count -= 3;
else
return false;
}
cout<< f_count << " " << t_count << " \n";
}
return true;
}
};
반응형
'Algorithm' 카테고리의 다른 글
[백준] 17211. 좋은날 싫은날 (0) | 2021.11.21 |
---|---|
[Leetcode] 38. Count and Say (0) | 2021.11.19 |
[Leetcode] 6. Zigzag Conversion (0) | 2021.11.18 |
[Leetcode] 551. Student Attendance Record I (0) | 2021.11.18 |
[백준] 6321. IBM 빼기 1 (0) | 2021.11.17 |
댓글()