백준 24390 또 전자레인지야?

sirocube·2022년 2월 4일
0

BOJ

목록 보기
17/21

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

  • 그리디 알고리즘

  • 풀이
    거스름돈 문제와 비슷한 로직으로 해결했다.
    30초, 60초 이하인 부분만 예외로 처리했다.

  • 코드

#include <bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(false); cin.tie(NULL), cout.tie(NULL)

string tt;
int M,S;

int main(void){
    fast;
    cin>>tt;
    M=stoi(tt.substr(0,2)); S=stoi(tt.substr(3,2));
    S+=M*60;
    if(!S){
        cout<<0; return 0;
    }
    if(S<30){
        cout<<(S/10)+1; return 0;
    }
    if(S<60){
        cout<<((S-30)/10)+1; return 0;
    }
    int A=S;
    int ss, sm=1;
    S-=30; ss=1;
    ss+=S/600; S%=600;
    ss+=S/60; S%=60;
    ss+=S/30; S%=30;
    ss+=S/10;

    sm+=A/600; A%=600;
    sm+=A/60; A%=60;
    sm+=A/30; A%=30;
    sm+=A/10;
    cout<<min(ss,sm);
}
profile
잉차차

0개의 댓글