SWEA 20551. 증가하는 사탕 수열(파이썬)

비만다람쥐·2024년 4월 17일
0
post-custom-banner

문제

문제 바로가기

1.A,B,C 의 상자가 주어지는데 이 상자안에 사탕의 개수가 순 증가해야한다
2.모든 상자가 비어 있지 않고 상자 안의 사탕 개수가 A<B<C 의 순으로 순 증가해야한다
3.이 조건을 만족시키기 위해 상자 속에 있는 사탕을 (0개 이상) 먹어 없애야한다
4.이 조건을 만족시킬 수 있는지 판단하고, 만족시킬 수 있다면 최소 몇개의 사탕을 먹어야하는지 구한다

접근하기

1.상자에 있는 사탕의 개수가 0이 되어버리면 조건을 만족하지 않는다
if B < 2 or C < 3 이면 조건을 만족할 수 없다
2.상자에 있는 사탕의 개수가 A<B<C 순으로 순 증가 해야하므로
if B >= C 일경우 B-C+1 개의 사탕을 먹어야한다
(예를 들어 B가5이고 C가 3이면 총 3개의 사탕을 먹어야한다 B-C+1 = 3)
(그리고 A랑B랑 비교를 해야하므로 B - 3을 해준다)
if A >= B 일경우 A-B+1 개의 사탕을 먹어야한다

풀이

T = int(input())

for t in range(1,T+1):
    A,B,C = map(int,input().split())
    answer = 0
    #이미 조건의 만족하는 결과값은 0이다
	
    # B < 2 보다 작은경우 C 가 3보다 작은경우는 어떠한방식으로 먹더라도 조건을 만족못한다
    if B < 2 or C <  3:
        answer = -1
    
    else:
        if B >= C:
            answer += B-C+1
            B -= answer
        if A >= B:
            answer += A-B+1
    
    print(f'#{t} {answer}')
profile
개발자가 되고싶은 사람
post-custom-banner

0개의 댓글