코딩테스트

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

해당 알고리즘 문제는 프로그래머스의 알고리즘 문제입니다

관련자료

댓글 0
등록된 댓글이 없습니다.

최근글


새댓글


알림 0