본문 바로가기

매일매일 (Everyday)

[BOJ] - 기본 수학 1 - (1) - Python

항상 마지막 답안이 정답입니다. 참고해주세요. 시행착오 과정을 제가 나중에 보려고 이렇게 작성했습니다.

 

1712: 손익분기점

# 1712: 손익분기점
'''
1. 판매 대수 상관없이 고정비용 A
2. 가변비용 B
3. 책정된 노트북 가격 C
4. X = 노트북 대수
5. 총수입(C*X) > 총 비용(A+X*B)
6. 5번 조건이 성립할때 X 반환

7. 손익 분기점이 존재하지 않는 경우는..?
CX = A + BX
A < (B-C)X
A / (B-C) < X 인 경우
'''
import sys
A, B, C = map(int, sys.stdin.readline().split())
X = 0 # 노트북 대수

while True :

    if A / (B-C) < X :
        print(-1)
        break
    else :
        if A+B*X < C*X :
            print(X)
            break
        else :
            X += 1
            continue

## 다시풀기, B가 C보다 크면 손익분기점이 없어
import sys
A, B, C = map(int, sys.stdin.readline().split())
X = 0 # 노트북 대수

while True :
    if B >= C :
        print(-1)
        break
    else :
        if A+(B*X) < C*X :
            print(X)
            break
        else :
            X += 1


### 시간초과 해결한 최종 답안
import sys
A, B, C = map(int, sys.stdin.readline().split())

if B >= C :
    print(-1)
else :
    print(A // (C-B) + 1)

 

 

2292: 벌집

# 2292: 벌집
import sys
N = int(input())
sum = 2 # summation
count = 1
while True:

    if N == 1:
        print(1)
        break

    elif sum <= N :
        sum = sum + (6*count)
        count += 1
    else :
        print(count)
        break

 

1193: 분수 찾기

# 1193: 분수 찾기
'''
1. 짝수 줄은 분자가 작은 것부터 (또는 분모가 큰 것부터)
2. 홀수 줄은 분모가 작은 것부터 (또는 분자가 큰 것부터)
'''
X = int(input())
sum = 0
i = 1 # 대각선 기준 i번째 줄 ,i=1 이면 첫번째 줄이라고 생각.
while True :
    sum = sum + i
    i += 1

    if X == 1:
        print(1,'/',1, sep='')
        break

    elif X <= sum :
        index = i-1 # 몇번째줄
        last_index = sum-(i-1) # 직전줄 마지막 번째 숫자 위치
        line_index = X-last_index # 해당 줄에서 몇번째 값인지?
        if index % 2 == 1 : # 대각선 기준 홀수번째 있는 숫자라면? -> 분모가 1부터 시작
            print(index-(line_index-1),'/',line_index, sep='')
            break
        else : # 대각선 기준 짝수번째 있는 숫자라면?
            print(line_index,'/',index - (line_index - 1), sep='')
            break

'매일매일 (Everyday)' 카테고리의 다른 글

[BOJ] - 재귀 - (1) - Python  (0) 2021.12.08
[BOJ] - 기본 수학 1 - (2) - Python  (0) 2021.12.06
[BOJ] - 문자열 - (2) - Python  (0) 2021.12.02
[BOJ] - 문자열 - (1) - Python  (0) 2021.12.01
[BOJ] - 함수 - Python  (0) 2021.11.30