본문 바로가기

1Day 1Algo

[1Day 1Algo] 백준 1712 (C++), 1193 (C++)

# 백준 1712번 : 손익분기점 (https://www.acmicpc.net/problem/1712)

 

Code : 

#include<iostream>
using namespace std;
 
int main(void) {
    long a;
    int b, c;

    cin >> a >> b >> c;
    
    if (c - b > 0)
        cout << a / (c - b) + 1;
    else
        cout << -1;

    return 0;
}

 


 

# 백준 1193번 : 분수찾기 (https://www.acmicpc.net/problem/1193)

 

이 문제는 별 생각없이 풀다가 헤매게 됐다.

지그재그 패턴과 배열 속 분수의 분자, 분모를 잘 해석하면 풀 수 있었다.

 

만약 1/4 가 시작 포인트라면 그 다음은 분자에 +1, 분모에 -1이 된 2/3, 3/2, 4/1 와 같은 식이다.

 

그런데 풀다보니 풀이코드가 조금 지저분해졌다.

 

 

Code :

#include<iostream>
using namespace std;
 
int main(void) {
    int i, x, temp;
    int sum = 0;

    cin >> x;

    for (i = 1; i<=x; i++) {
        sum += i;
        if (sum >= x) break;
    }

    temp = x - (sum - i);

    if (i%2 == 0)
        cout << temp << "/" << i - temp + 1;
    else
        cout << i - temp + 1 << "/" << temp;

    return 0;
    
}