C# 알고리즘 - 연속된 수의 합
작성자 정보
- 마스터 작성
- 작성일
본문
[문제 설명]
연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.
[제한사항]
1 ≤ num ≤ 100
0 ≤ total ≤ 1000
num개의 연속된 수를 더하여 total이 될 수 없는 테스트 케이스는 없습니다.
[입출력 예]
[입출력 예 설명]
입출력 예 #1
num = 3, total = 12인 경우 [3, 4, 5]를 return합니다.
입출력 예 #2
num = 5, total = 15인 경우 [1, 2, 3, 4, 5]를 return합니다.
입출력 예 #3
4개의 연속된 수를 더해 14가 되는 경우는 2, 3, 4, 5입니다.
입출력 예 #4
설명 생략
[코드]
using System;
public class Solution {
public int[] solution(int num, int total) {
int[] answer = new int[num];
int temp = (total / num) - (total % num == 0 ? num / 2 : num / 2 - 1);
for(int i = 0; i < num; i++)
{
answer[i] = temp;
temp++;
}
return answer;
}
}
[풀이]
1.answer 배열 크기 정하기
int[] answer = new int[num];
2.중간값 구하기
int temp = (total / num) - (total % num == 0 ? num / 2 : num / 2 - 1);
3.for문돌려서 값 넣기
for(int i = 0; i < num; i++)
{
answer[i] = temp;
temp++;
}
[주소]
https://school.programmers.co.kr/learn/courses/30/lessons/120923
해당 알고리즘 문제는 프로그래머스의 알고리즘 문제입니다
관련자료
-
이전
-
다음