<문제 설명>
Description:
Your task is to return the sum of Triangular Numbers up-to-and-including the nth
Triangular Number.
Triangular Number: "any of the series of numbers (1, 3, 6, 10, 15, etc.) obtained by continued summation of the natural numbers 1, 2, 3, 4, 5, etc."
[01]
02 [03]
04 05 [06]
07 08 09 [10]
11 12 13 14 [15]
16 17 18 19 20 [21]
e.g. If 4
is given: 1 + 3 + 6 + 10 = 20
.
Triangular Numbers cannot be negative so return 0 if a negative number is given.
나의 풀이
function sumTriangularNumbers(n) { var start = 1; var result = 0; while(n > 0){ result += n * start; start++; n--; } return result; } |
다른사람 풀이
function sumTriangularNumbers(n) { return n < 0 ? 0 : n * (n + 1) * (n + 2) / 6; } |
느낀점
삼각수를 만드는 원리를 코드로 만들었을뿐, 그에 따른 공식을 생각해보지 않았다.
공식으로 쉽게 풀 수 있음을 생각하자. 또한 컴퓨터에도 부담을 덜주는 길이라는 말을 들었다.
'algorithm > codewars' 카테고리의 다른 글
[6kyu] multiples of 3 or 5 (0) | 2018.01.28 |
---|---|
[6kyu] TGI Friday !! (0) | 2018.01.22 |
[8kyu] Century_From_Year !!!!!!!!!! (0) | 2018.01.21 |
[6kyu] Good vs Evil (0) | 2018.01.21 |
[8kyu] Array plus array (0) | 2018.01.21 |