[프로그래머스] 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. [2987]jilievo login করুন এবং সেরা অনলাইন স্লট গেম খেলুন,jilievo app download করে সহজেই বিকাশ দিয়ে অনলাইন ক্যাসিনো গেম খেলুন। আকর্ষণীয় ক্যাসিনো বোনাস পাওয়ার নিয়ম জানতে আজই সাইন আপ করুন। visit: jilievo

  2. [9948]Rajamuda: Login Daftar APK & Situs Slot Deposit Dana,rajamuda menyediakan akses login mudah dan daftar rajamuda APK. Nikmati situs slot deposit dana serta agen casino live terpercaya. Gabung sekarang juga! visit: rajamuda

  3. [5441]bet365 odds login at slots gamit ang gcash sa Pilipinas,Tingnan ang bet365 odds at mag-enjoy sa online slots gamit ang gcash. Madali ang bet365 odds app download para sa mabilis na login. Sali na at maglaro! visit: bet365 odds

  4. I have played at dozens of sites over the years and I can honestly say this one keeps getting better with every visit. The VIP program actually rewards loyal players with perks that make a real difference in my daily sessions. I love how responsive the support chat is whenever I need a quick hand with a question. It is the kind of place that makes you feel like a valued guest instead of just another username. zeetben777

  5. [9103]Genting Login App – Daftar Akaun Slot Online Deposit TnG,Genting menyediakan akses mudah melalui login app. Daftar akaun sekarang untuk cuba slot online deposit TnG dan cara main baccarat online. Jom sertai hari ini! visit: genting

댓글 달기

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