ALGORITHM/PYTHON

백준 BAEKJOON 32216번 찬물 샤워 [PYTHON/파이썬]

칼코
반응형

 

 

 

 

 

백준 BAEKJOON 32216번 찬물 샤워 [PYTHON/파이썬]


<문제 출처> (BRONZE Ⅲ)

https://www.acmicpc.net/problem/32216

 

 

 

 

 

 

 

<풀이>

문제를 쉽게 풀기 위해 온도 변화 d 리스트 앞에 0을 추가했다.

그리고 샤워기 온도가 담길 리스트 T_lst를 만들어줬다.

그리고 샤워기 온도 변화에 관련된 조건들을 문제와 같게 세팅해 주어서

T_lst를 완성시킨 뒤에 for문을 돌려 도훈이의 불쾌함 지수를 출력해 줬다.

 

 

 

 

 

 

 

 

<코드>

n, k, T = map(int, input().split())
d = [0] + list(map(int, input().split()))
T_lst = [T] + [0] * n

for i in range(n):
    if T_lst[i] > k:  # 물이 너무 뜨거울 때
        T_lst[i + 1] = T_lst[i] + d[i + 1] - abs(T_lst[i] - k)
    elif T_lst[i - 1] < k:  # 물이 너무 차가울 때
        T_lst[i + 1] = T_lst[i] + d[i + 1] + abs(T_lst[i] - k)
    else:  # 물 온도가 적절할 때
        T_lst[i + 1] = T_lst[i] + d[i + 1]

result = 0
for t in T_lst[1:]:
    result += abs(t - k)

print(result)

 

 

 

 

 

 

 

반응형