알고리즘/백준

[백준/c++] 10162번: 전자레인지

녕이 2022. 7. 8. 15:59
728x90

 

https://www.acmicpc.net/problem/10162

 

10162번: 전자레인지

3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은

www.acmicpc.net

 

버튼을 누를 때마다 시간이 동작 시간에 더해진다.

A, B, C를 적절히 눌러서 시간합이 T초가 되도록 하자.

T초를 맞출 수 없을 경우, -1 출력

A, B, C는 5분, 1분, 10초 이므로 초 단위로 모두 바꿔서 배열에 넣어줬다.

제일 큰 값부터 나눠서 해보면 쉽게 해결된다.

 

#include <iostream>
using namespace std;

int main(){
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int t;
    int button[3] = {300, 60, 10};
    int abc[3] = {0, 0, 0};
    cin >> t;
    
    for(int i=0; i<3; i++){
        abc[i] = t / button[i];
        t %= button[i];
    }
    
    if(t != 0) cout << "-1\n";
    else       cout << abc[0] << ' ' << abc[1] << ' ' << abc[2] << '\n';
    return 0;
}

 

 

서브 테스크 문제는 처음 풀어봤는데 (아닌가.. 저번에 풀어본 거 같기도..?^^) 이렇게 결과가 나오네요

쉬운 문제긴 했지만 신기하고 쾌감이;;;;;;;ㅋ 역시 100점은 기분이 좋군요

 

 

 

728x90