상황파악

백준 2839번: 설탕 배달 본문

백준

백준 2839번: 설탕 배달

otch80 2021. 1. 11. 04:50

쉽게 생각하고 풀었다가 이해가 안되서 머리가 아팠다

결국 다른 사람의 코드를 참조했지만 이상하게 풀리지 않았다

 

결국 다시 생각해보고 풀었다

 

#include <iostream>

using namespace std;
 
int main() {
	int mount;
	int f_count = 0;
	int t_count = 0;
	
	cin >> mount;
	int temp = mount;
	
    while(mount>0){
        if(mount % 5==0){
            mount -= 5;
            f_count++;
        }
        else if(mount %3 ==0){
            mount -= 3;
            t_count++;
        }
        else if(mount > 5){
            mount -= 5;
            f_count++;
        }
        else {
            break;
        }
    }
	
	if(5*f_count+3*t_count != temp){
	    cout << -1;
	}
	else {
	    cout << f_count+t_count;    
	}
	

	return 0;
}

 

우선적으로 입력값에 바로 mod를 대입하면 값이 극단적으로 달라지게 된다

따라서 한번씩 연산하고 비교하는 과정을 거친다

 

 

 

여기서 살펴볼 부분은 이 부분이다

if(5*f_count+3*t_count != temp){
	    cout << -1;
	}

 

 

-1을 출력하는 기준을 잡는데 시간이 오래 걸렸다

'백준' 카테고리의 다른 글

백준 - 1149 RGB 거리  (0) 2021.01.12
백준 1032: 명령 프롬프트  (0) 2021.01.04