프로그래머스 홀짝에 따라 다른 값 반환하기 문제 바로가기
header
숫자를 다루는 함수들은 <cmath>
header에 담겨있다. 이번 문제에서는 제곱하는 함수가 필요했다. 물론 i*i
처럼 구현해도 되긴 하지만, 응용을 위해서 함수를 찾아보았다. pow()함수는 double pow (double base, double exponent);
로 정의되는데, double 밑(base)과 double 지수(exponent)을 입력으로 받아 double 값을 출력한다.
내 풀이
if 문으로 홀짝을 나누고 각각에 맞게 구현해주면 끝이다.
#include <string>
#include <vector>
#include <cmath>
using namespace std;
int solution(int n) {
int answer = 0;
if (n%2 == 1){
for (int i = 0; i<n/2+1; i++){
answer += 2*i+1;
}
} else {
for (int i=0; i<n/2+1; i++){
answer += pow(2*i, 2);
}
}
return answer;
}