컴굥일지
[BOJ/백준 10162][C++] 전자레인지 본문
반응형
문제
https://www.acmicpc.net/problem/10162
문제 내용
전자레인지 버튼을 최소한으로 눌러서 시간을 맞추어야 한다.
시간의 단위는 A버튼 300초, B버튼 60초, C버튼 10초이다.
A, B, C 버튼으로 시간을 정확히 맞출 수 없다면 -1을 출력한다.
문제 풀이
버튼의 시간이 서로 배수관계에 있으므로 greedy 문제이다.
일단 10으로 나누었을 때, 나머지가 발생한다면 -1을 출력하고 프로그램을 끝낸다.
그렇지 않으면 300초, 60초, 10초를 차례로 나눠가며 계산하면 된다.
코드
#include <iostream>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
//입력
int num;
cin >> num;
if (num % 10 != 0) {
cout << -1 << '\n';
return 0;
}
int a = num / 300;
num %= 300;
int b = num / 60;
num %= 60;
int c = num / 10;
//결과 출력
cout << a << ' ' << b << ' ' << c << '\n';
}
반응형
'알고리즘 > 코테 문제' 카테고리의 다른 글
[BOJ/백준 7568][C++] 덩치 (0) | 2022.04.28 |
---|---|
[BOJ/백준 1541][C++] 잃어버린 괄호 (0) | 2022.04.23 |
[BOJ/백준 5585][C++] 거스름돈 (0) | 2022.04.21 |
[BOJ/백준 2605][C++] 줄 세우기 (0) | 2022.04.17 |
[BOJ/백준 4949][C++] 균형잡힌 세상 (0) | 2022.04.16 |
Comments