1578. Minimum Time to Make Rope Colorful

홍범선·2023년 1월 19일
0
post-custom-banner

1578. Minimum Time to Make Rope Colorful

https://leetcode.com/problems/minimum-time-to-make-rope-colorful

문제

풀이


주된 로직은 다음과 같다. 예를 들어 설명하자면
colors = "aaaabc", neededTime = [1,3,4,2,5,6]이라 하자.
"aaaa" 문자열이 연속된 문자가 2개 이상있으므로 삭제시켜주어야 한다.
문제에서 원하는 것은 최소가 되는 비용을 원했으므로 전체비용 - 최대비용을 빼주면 최소가 될 것이다.
1. neededTime[0] = 1, total = 1, max = 1
2. neededTime[1] = 3, total = 1+3, max = (1,3)
3. neededTime[2] = 4, total = 1+3+4, max= (1,3,4)
4. neededTime[3] = 2, total = 1+3+4+2, max(1,3,4,2)

가 될 것이고 total(10) - max(4) = 6이 나올 것이다.
이러한 로직으로 구현하였다.
cnt란 변수는 예외처리를 위한 변수인데 aaaab에서 b는 else로 빠지고 cnt가 4이기 때문에 "aaaa"문자열에서 나온 값을 더해준다. 하지만 aaaabc에서 c도 else로 빠지는데 이 예외처리를 위해서 cnt값을 추가하였다.
또한 마지막 문자일 때 예외처리를 해주어야 하는데 마지막일 땐 그 동안 계산한 것을 더해주어야 한다.

결과

profile
날마다 성장하는 개발자
post-custom-banner

0개의 댓글