[백준] 8393번 합

권태형·2023년 12월 7일

알고리즘

목록 보기
18/33

입력값이 들어왔을 때 1부터 입력까지 모두 더한 값을 출력하는 문제다.

나의 풀이

int n = int.Parse(Console.ReadLine());
int result = 0;
for(int i = 1; i <= n; i ++) result += i;
Console.WriteLine(result);

굉장히 쉬운 문제다. 하지만 이렇게 for문을 사용하지 않고도 C#의 Linq모듈의 내장함수를 이용해서 푸는 방법도 존재한다.

int n = int.Parse(Console.ReadLine());
int result = Enumerable.Range(1, n).Sum();
Console.WriteLine(result);

Enumerable.Range(1, n)를 통해 1부터 n까지의 정수를 생성하고, Sum()메소드를 통해 모두 더해주는 간단한 식이다.


다른사람 풀이

int a=int.Parse(Console.ReadLine());Console.Write((a+1)*a/2);

와 깔끔한 코드를 보았다. 1부터 n까지 더한다는 수학적 공식이 따로 존재 했다. (n+1) * n/2 이런 생각은 먼저 해보지 않고 일단 for문을 돌려야 겠다.라는 생각을 먼저 떠올렸는데 이 방식이 훨씬 수학적 접근에서 좋고, 코드도 짧고 메모리도 적게소모하고 훨씬 좋은 풀이라는 것을 인정할 수 밖에 없었다.

profile
22년 12월 개발을 시작한 신입 개발자 ‘권태형’입니다. 포스팅 하나하나 내가 다시보기 위해 쓰는 것이지만, 다른 분들에게도 도움이 되었으면 좋겠습니다. 💯컬러폰트가 잘 안보이실 경우 🌙다크모드를 이용해주세요.😀 지적과 참견은 언제나 환영합니다. 많은 댓글 부탁드립니다.

0개의 댓글