[프로그래머스] 120923 연속된 수의 합 / 문제분석 / Java, Python3 정답

programmers

쉬운 문제라도 문제를 푸는 방법은 다양합니다.

더 명확하고 깔끔한 문제 해결 방법을 아신다면 자유롭게 말씀해주세요.

프로그래머스 120923 연속된 수의 합

프로그래머스 저작권을 침해하지 않기 위해

문제 보시고 싶으시면 버튼을 눌러주세요.

답변 형식
프로그래머스 120923 자바
프로그래머스 120923 파이썬

배열 총 합과 배열 원소 수를 받아서 연속된 숫자 배열을 찾으면 됩니다.

풀이 조건

1. 배열의 중간에 위치하는 수(연속된 수의 중위값)를 구해주세요.

 total과 num으로 쉽게 구할 수 있습니다.

2. 1번의 중위값과 num으로 배열의 시작 값을 구할 수 있습니다.

3. 반복문을 통해 배열을 완성해주세요.

 연속된 수이기 때문에 반복문이 쉽습니다.


숫자 올림 또는 내림 함수를 사용하신다면 더 간결한 코드를 작성하실 수 있습니다.


혹시 설명이 부족하시다면 프로그래머스의 테스트케이스를 다음의 방법에 따라 “종이에 손으로” 풀어보시는 것을 권장드립니다.

class Solution {
    public int[] solution(int num, int total) {
        int[] answer = new int[num];
       
        int start;

        if(num%2==0){
            start = total/num-(num–2)/2;            
        } else {
            start = total/num-(num–1)/2;
        }

        for(int i=0; i<num; i++){
            answer[i] = start;
            start++;
        }  

        return answer;
    }
}
class Solution {
    public int[] solution(int num, int total) {
        int[] answer = new int[num];
        // int 배열 할당

        int start;

        if(num%2==0){
            start = total/num-(num-2)/2;            
        } else {
            start = total/num-(num-1)/2;
        }
        // 시작값 = 중위값 – 시작값에서 중위값까지 숫자 갯수

        for(int i=0; i<num; i++){
            answer[i] = start;
            start++;
        }  
        // for문을 통해 숫자 배열 채우기
       
        return answer;
    }
}
def solution(num, total):
    answer = []    

    if num%2 == 0 :
        start = total//num-(num-2)/2
    else :
        start = total//num-(num-1)/2    

    for i in range(num) :
        answer.append(start)
        start = start+1
   
    return answer
def solution(num, total):
    answer = []    

    if num%2 == 0 :
        start = total//num-(num–2)/2
    else :
        start = total//num-(num–1)/2
    # 시작값 = 중위값 – 시작값에서 중위값까지 숫자 갯수
       

    for i in range(num) :
        answer.append(start)
        start = start+1
    # for문을 통해 숫자 배열 만들기

    return answer
import math

def solution(num, total):
    answer = []    

    start = total//num–math.floor(((num–1)/2))

    for i in range(num) :
        answer.append(start)
        start = start+1
   
    return answer

“[프로그래머스] 120923 연속된 수의 합 / 문제분석 / Java, Python3 정답”의 84개의 댓글

  1. [1043]shbet00 | Link vào nhà cái và hướng dẫn chơi baccarat,shbet00 cung cấp link vào nhà cái an toàn, hỗ trợ tải app shbet00 nhanh chóng. Khám phá mẹo quay hũ nổ hũ và cách nạp tiền casino qua momo dễ dàng. Truy cập ngay! visit: shbet00

댓글 달기

이메일 주소는 공개되지 않습니다.