728x90
반응형
1. 문제 설명
2. 풀이과정
- 1부터 입력받은 수까지 자연수를 원소로 하는 배열을 생성한다. li = list(range(1, n + 1))
- 슬라이싱을 활용하여 연속된 자연수를 추출한다. 슬라이싱에 사용할 시작 위치와 종료 위치의 값을 반복문을 활용해 지정해 준다.
- 시작 위치는 처음부터 끝까지이고 for i in range(n + 1)
- 종료 위치는 시작 위치 다음부터 배열의 끝까지의 범위로 지정한다. for j in range(i + 1, n + 1)
- 만약 지정한 슬라이싱의 합이 입력받은 수이면 if (sum(li[i : j]) == n)
- 연속된 자연수들의 합이므로 경우의 수에 1을 더한다. answer += 1
- 만약 지정한 슬라이싱의 합이 입력받은 수보다 크면 반복을 종료한다. if (sum(li[i : j]) > n): break
반응형
3. 소스코드
def solution(n):
answer = 0
li = list(range(1, n + 1))
for i in range(n + 1):
for j in range(i + 1, n + 1):
if (sum(li[i : j]) == n):
answer += 1
if (sum(li[i : j]) > n):
break
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 시저 암호 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.07 |
---|---|
[프로그래머스] 삼총사 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.07 |
[프로그래머스] 피보나치 수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.06 |
[프로그래머스] 다음 큰 숫자 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.06 |
[프로그래머스] 예산 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.06 |
[프로그래머스] 이상한 문자 만들기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.06 |
[프로그래머스] 3진법 뒤집기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.04 |
[프로그래머스] 이진 변환 반복하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.04 |