Queue-ri/Advanced-Algorithm-Study

[Week 10] RATIO self review - yujungee

Closed this issue · 0 comments

Ratio self review

1. 해결 시도 과정

t를 연승 횟수로 선언하고, 승률 rate + 1이 될 때까지 반복문으로 t를 증가시키며 최소가 되는 t값을 찾으려 하였습니다.

2. 아이디어

승률의 소수점을 모두 제거하기 위해 int형으로 승률을 받았습니다.

3. 코드 설명

#include <iostream>
using namespace std;

int main(){
    int tc;
    double M =0.0, N =0.0;
    int t = 0; 
    int rate =0;
    cin >> tc;
    while (tc--){
        cin >> N >> M;
        rate = (N/M) * 100;

        if (M==N) {
            cout << -1;
        }

        for (t=0; t< 2000000000; t++){
            if ((N+t)/(M+t) * 100 >= rate+1){
                cout << t;
                break;
            }
        }

    }
}

4. 막힌 점 및 개선 사항

시간초과가 났습니다.
승률을 올릴 수 없는 상황을 반복문이 끝나고 나오게 하기 위해 boolean 형 flag 변수를 만들어 flag의 참 거짓을 통해 -1을 출력하려 했는데 적용되지 않았습니다. (위의 코드에서는 삭제)