https://school.programmers.co.kr/learn/courses/30/lessons/120923
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.
제출 답안
def solution(num, total):
answer = [9999]
last = total
if last == 0: last = num
while(sum(answer)!=total):
answer = []
for i in range(num):
answer.append(last-i)
last -= 1
return sorted(answer)
개선 답안
중앙에 위치한 값이 total // num
def solution(num, total):
avg = total // num
return [i for i in range(avg - (num-1)//2, avg + (num+2)//2)]
참고 자료
프로그래머스 | 연속된 수의 합 [파이썬 python]
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def
dduniverse.tistory.com
'알고리즘 > Python' 카테고리의 다른 글
[Python | SWEA] 1979. 어디에 단어가 들어갈 수 있을까 (0) | 2023.04.30 |
---|---|
[Python | SWEA] 2007. 패턴 마디의 길이 (0) | 2023.04.29 |
[Python | SWEA] 1959. 두 개의 숫자열 (0) | 2023.04.28 |
[Python | SWEA] 1989. 초심자의 회문 검사 (0) | 2023.04.27 |
[Python | SWEA] 1284. 수도 요금 경쟁 (0) | 2023.04.27 |