문제를 풀 때는 그에 대한 문해력이 필요하다
요컨데 문제가 시사하는 바가 무엇인가
같은 말이다 같은 의미이고
문제를 이해 못하면 문제를 시작하는 것조차
불가능 하다는 의미이기도 하다
오늘의 문제가 그러했다
연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.
문해력이 참으로 감퇴한 것인지 읽어도 이해가 안된다
그럴 땐 조각을 내서 보아 본다
연속된 3개의 정수, - 3,4,5
더해서 12
두 정수 num, total
연속된 수 num 개
더한 total
정수 배열을 오름차순
정리를 해보니 문제가 보인다
total 값을 만드는 num 개의 연속된수,
num = 3
total = 6
이면, 정수배열은 1,2,3이다
그렇다면 중간값에서 -1, +1 을 함으로서 값을 구하면 되지않을까
6에서 3을 나누고 -1, +1
이를 함수로서 만들자면 이렇게 된다
def solution(num, total):
answer = []
if num % 2 == 1:
center = total // num
start = center - ((num - 1)//2)
end = center+((num-1)//2)
for i in range(start, end+1):
answer.append(i)
else:
left = total // num
start = left - ((num - 1)//2)
end = left + ((num - 1)//2) + 1
for i in range(start, end+1):
answer.append(i)
return answer
'코딩 오늘' 카테고리의 다른 글
2023.05.03 (0) | 2023.05.04 |
---|---|
2023.05.02 (0) | 2023.05.03 |
2023.04.24 (0) | 2023.04.25 |
2023.04.21 (0) | 2023.04.24 |
2023.04.20 (0) | 2023.04.21 |
댓글