PS&알고리즘
[프로그래머스][C] 짝수의 합
200scs
2023. 11. 12. 20:11
문제: 짝수의 합
문제와 답
문제 설명
정수 n이 주어질 때, n 이하의 짝수를 모두 더한 값을 return하도록 solution함수를 작성하시오.
제한 사항
0 ≤ n ≤ 1000
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int n) {
int answer = 0;
scanf("%d", &n); // input
for (int i = 0; i <= n; i++ ) {
int value = n - i; // create variable for storage of 1 ~ n
if(value % 2 == 0)
answer += value; // 그리고 짝수라면 더함
}
return answer;
}
Vv
내 머리 속 생각
제가 이 문제를 보며 생각한 것을 리스트화 해봤습니다.
- 문제 정리
- 입력 값, n이 있다면 1 ~ n까지의 모든 짝수를 더하는 프로그램을 작성하는 것이다.
- 문제 해결을 위한 생각
- 짝수를 구하기 위해 `값 % 2 == 0`를 활용해야겠다.
- 짝수 값을 담을 변수, `value`를 생성해야겠다.
- 반복문을 통해 `value = n - i`로 두고 증감 변수 `i`가 n과 같아질 때까지 반복문의 조건을 셋팅해야 겠다.
- 반복문 내부에서 value가 짝수라면 짝수 값을 모두 더할 변수, `answer`에 더해야겠다.
문제를 풀며 했던 실수...
또한, 제가 이 문제를 풀며 실수했던 것을 이야기 해보려 합니다...
int value = 0;
for (int i = 0; value > 0; i++) {
value = n - i; // 이 부분...
if(value % 2 == 0) answer += value;
}
부끄럽네요...
무슨 sum함수를 초기화해놓는 것처럼 value를 0으로 초기화 시켜놓고 `value > 0`면 증감 변수 i를 1 증가시키겠다는 헛 짓거리를 했습니다...하하
변명은 하지 않겠습니다.. 아직은 알린이네요ㅠ (알고리즘 어린이)
성장하는 알린이가 되겠습니다!