반응형
문제 출처
backjoon 8939번 문제
0. 문제
ⅰ. 1부터 입력받은 수까지의 합을 출력하라.
■ 1~N까지의 합은 for문을 이용해도 되고, 시그마 공식 "N*(N+1)/2" 을 이용해도 된다.
■ 입력되는 값은 1이상 10000이하의 값이다.
Ⅰ. 코드
ⅰ. for문을 이용한 풀이
#include <iostream>
using namespace std;
int main()
{
int N, sum = 0;
cin >> N;
for (int i = 1; i <= N; i++) {
sum += i;
}
cout << sum;
return 0;
}
■ 0으로 초기화시킨 sum 변수를 만들어둔 뒤, for문을 돌며 값을 누적시키는 방식이다.
ⅱ. 시그마 공식 "N*(N+1)/2" 을 이용한 풀이
#include <iostream>
using namespace std;
int main()
{
int N;
cin >> N;
cout << N*(N+1)/2;
return 0;
}
■ 공식을 이용하여 계산했다.
Ⅲ. 결론
■ 문제의 해법은 여러가지가 있을 수 있다.
■ 수학 공식을 이용한 풀이를 알고 있다면 메모리나 시간의 관점에서 좀 더 유리하다.
■ 하지만 프로그래밍적 방법으로 푸는 것도 결코 틀린 풀이는 아니다.
■ 뭐가 됐든 공부를 계속 해나가는게 중요하다.
반응형