본문 바로가기

algorithm/codewars

[7kyu] Sum of Triangular Numbers

<문제  설명>

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