413. Arithmetic Slices

홍범선·2023년 1월 15일
0

413. Arithmetic Slices

https://leetcode.com/problems/arithmetic-slices/

문제

풀이

수열에 규칙이 있는 것을 활용하였다. 예를 들어서
(1,2,3) => 1(길이3)
(1,2,3,4) => 2(길이3) + 1(길이4)
(1,2,3,4,5) => 3(길이3) + 2(길이4) + 1(길이5)
...
즉 산술이란 조건에 만족하여 길이가 길어질수록 4,5,6....등 일정하게 증가한다.

gap이라는 변수에 현재 숫자와 이전 숫자 차이를 저장하고 for문을 도는 동안 계속 비교한다.
같을 때마다 cnt라는 변수가 1씩 증가하게 되는데 수열 규칙에 따라 (기존의 값 + cnt - 1)으로 구현하였다.
만약 gap이랑 차이가 난다면 gap을 다시 최신화 시켜주고 cnt도 마찬가지로 1로 최신화시켜준다.

profile
날마다 성장하는 개발자

0개의 댓글