문제
https://school.programmers.co.kr/learn/courses/30/lessons/181935
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.
풀이
초기 if문에서 홀수인지 검사하여 홀수라면 홀수중 최소값인 1로 i를 설정하여 반복문을 순회하며 answer 변수에 누적시킨다. 짝수라면 i를 짝수 중 최소값인 2로 설정하여 반복문을 순회하며 누적한다.
홀짝 구분되어야 하므로 증감식에는 +=2를 설정했다.
코드
class Solution {
public int solution(int n) {
int answer = 0;
if (n % 2 == 1) {
for (int i = 1 ; i <= n ; i+=2) {
answer += i;
}
} else {
for (int i = 2 ; i <= n ; i+=2) {
answer += i * i;
}
}
return answer;
}
}