Algorithm/Baekjoon

백준 21758번 - 꿀 따기

h7ung 2023. 1. 30. 10:33
728x90

문제링크

 

 

 

문제 풀이 과정

 

벌의 위치와 꿀통의 위치를 3가지 케이스로 나눠서 풀이를 해야한다.

 

[1] 벌이 왼쪽에 고정 되어 있으며, 꿀통은 오른쪽에 고정 되어 있을때

 

[2] 벌이 오른쪽에 고정 되어 있으며, 꿀통은 왼쪽에 고정 되어 있을때

 

[3] 벌이 양쪽에 고정 되어 있으며, 꿀통이 움직일때

 

 

각각의 케이스를 진행 할때마다 벌1과 벌2의 꿀의 합을 반복문을 이용하여 새롭게 구했는데 이렇게 하면 서브테스크 4번에서 시간 초과가 생긴다.

아래 코드가 바로 시간 초과가 난 코드이다.

 

 

이것을 해결하기 위해서 합을 매번 새롭게 구하지 않고 벌또는 꿀통이 움직일때마다 이전 값에서 더하거나 빼는 방식으로 구했더니 모든 태스크가 통과가 되었다.

 

전체 코드

 

728x90