본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 3][Python] 5063번 : TGN

by 빛밤하늘 2021. 5. 23.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

5063번: TGN

첫째 줄에 테스트 케이스의 개수 N이 주어진다. 다음 N개의 줄에는 3개의 정수 r, e, c가 주어진다. r은 광고를 하지 않았을 때 수익, e는 광고를 했을 때의 수익, c는 광고 비용이다. (-106 ≤ r,e ≤ 106

www.acmicpc.net

 

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# readline을 사용하기 위해 import합니다.
from sys import stdin

# 첫째 줄에 테스트 케이스의 개수 N을 입력합니다.
N = int(stdin.readline())

# 테스트 케이스의 개수 N만큼 반복합니다.
for test_case_idx in range(N):
    # 광고를 하지 않았을 때 수익 r, 광고를 했을 때의 수익 e, 광고 비용 c를 공백으로 구분해 입력합니다.
    # 각각 정수형으로 변환합니다.
    # -10^6 <= r, e <= 10^6
    # 0 <= c <= 10^6
    r, e, c = map(int, stdin.readline().split(' '))
    # 광고를 했을 때의 순수익을 저장하는 변수를 선언합니다.
    advertise_net_gain = e - c

    # 광고했을 때의 순수익이 광고를 하지 않았을 때의 수익보다 크다면
    if advertise_net_gain > r:
        # advertise를 출력합니다.
        print("advertise")
    # 광고했을 때의 순수익이 광고를 하지 않았을 때의 수익과 같다면
    elif advertise_net_gain == r:
        # does not matter를 출력합니다.        
        print("does not matter")
    # 광고했을 때의 순수익이 광고를 하지 않았을 때의 수익보다 작다면
    else:
        # do not advertise를 출력합니다.
        print("do not advertise")

결과

 

문제에서는 수익을 최대로 올리기만 하면 되므로

최종 코드와 같이 순수익인 advertise_net_gain의 크기 비교만 하면 되는데,

첫 번째 제출과 두 번째 제출할 때는 굳이 if문에 advertise_net_gain > 0을 넣어 더 복잡한 코드를 만드니

쉬운 문제인데도 틀렸습니다 결과를 두 번이나 봤습니다...

 

세 번째 제출의 컴파일 에러는 실수로 괄호를 하나 빼먹고 제출해서 떴습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글