티스토리 뷰
*첫번째 생각
def solution(num, total):
answer = []
for i in range(1,502):
sum = 0
for j in range(i,i+num):
sum += j
if sum == total:
for s in range(i, i+num):
answer.append(s)
break
return answer
1부터 시작해서 501까지,
num 수만큼 연속된 숫자를 직접 더해 봄.
num이 5라면 j는 1~5, 2~6, 3~7 ... 바꿔가면서 sum에 더하고,
sum이 total과 같으면 그 범위의 수 하나 하나를 answer[]에 append 함.
될 것 같은데, 10개중 4개의 테스트 케이스에서 에러가 발생....
*딴 생각
def solution(num, total):
answer = []
for i in range(1,num+1):
total-=i
if total%num == 0:
for i in range(1,num+1):
answer.append(total//num + i)
return answer
2개의 연속된 수라면 1,2를 빼고 난 나머지가 연속된 수 갯수인 2로 나눠 떨어질 경우,
그 몫을 1,2에 더하면 연속된 두 수가 됨
3개의 연속된 수라면 1,2,3을 빼고 난 나머지가 연속된 수 갯수인 3으로 나눠 떨어질 경우,
그 몫을 1,2,3에 더하면 연속된 세 수가 됨
total 15이고, 2개의 연속된 수(num)라면,
15-1-2 = 12
12%2 = 0 , 12//2 = 6
answer[1+6, 2+6] = [7,8]
total 15이고, 3개의 연속된 수(num)라면,
15-1-2-3 = 9
9%3 = 0 , 9//3= 3
answer[1+3, 2+3, 3+3] = [4,5,6]
'Test > Python(20220101~)' 카테고리의 다른 글
문자열 처리 참고 (0) | 2022.10.07 |
---|---|
프로그래머스.L0.문자열밀기 (1) | 2022.10.05 |
프로그래머스.L0.다음에올숫자 (0) | 2022.10.03 |
프로그래머스.L0.옹알이 (0) | 2022.10.02 |
웹싸이트 패스워드 관리 프로그램 최종... Error 디버깅 중... (1) | 2022.09.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- dp-2
- storage
- artandculture
- 3par
- LIST
- cloud-init
- powercli
- 읽어오기
- oracle
- vmware.powercli
- virt-sysprep
- sysprep
- 중복제거
- dezoomify
- set()
- 배열
- Join
- 스토리지
- fromkeys
- exadata
- 차집합
- EXA
- dp-1
- vmware
- 변수화
- 대소문자
- insert
- powershell
- 부동없이
- 정렬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
글 보관함