https://school.programmers.co.kr/learn/courses/30/lessons/12924
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 해결 과정
착안
자연수 $N$이 2 개 이상의 연속된 자연수들로 표현이 가능한지 확인하기 위해 1부터 최대 $N/2$ 이하의 자연수까지 반복하며 연속된 숫자의 합을 구해 $N$과 비교함으로써 표현 가능한 수를 구한 다음, 1을 더한 값($N = N$ 으로도 표현이 가능하므로)을 문제의 답안으로 사용하고자 하였다.
구현
[스포 주의] 아래 '더보기'를 누르면 코드가 나오니 주의하세요~
더보기
int solution(int n)
{
int answer = 1;
for (int i = 1; i <= n / 2; i++)
{
int sum = 0, j = i;
while (sum < n)
sum += j++;
if (sum == n)
answer++;
}
return answer;
}
실행 결과
'C++ 코딩 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Programmers] 점프와 순간 이동 (0) | 2023.08.27 |
---|---|
[Programmers] 다음 큰 숫자 (0) | 2023.08.15 |
[Programmers] 이진 변환 반복하기 (0) | 2023.07.30 |
[Programmers] 최솟값 만들기 (0) | 2023.07.30 |
[Programmers] JadenCase 문자열 만들기 (0) | 2023.07.28 |
댓글