프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
def solution(n):
answer = 0
acc = [0 for _ in range(n+1)] # 누적합
for i in range(1, n+1):
acc[i] = i + acc[i-1]
for i in range(n, -1, -1):
for j in range(i-1, -1, -1):
if acc[i] - acc[j] == n:
answer += 1
break
elif acc[i] - acc[j] > n:
break
return answer
투포인터로 풀어볼까 하다가 누적합으로 풀었다. 다른 사람들 풀이 보니 투포인터로 한 사람도 있는거 같다.
처음에 시간초과 나와서 쓸데없이 for문 더 안 돌도록 아래의 코드 추가해줬더니 통과
elif acc[i] - acc[j] > n:
break
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 프로그래머스 다음 큰 숫자 (0) | 2022.10.21 |
---|---|
[Python/파이썬] 프로그래머스 최고의 집합 (0) | 2022.10.19 |
[Python/파이썬] 프로그래머스 올바른 괄호 (0) | 2022.10.18 |
[Python/파이썬] Summer/Winter Coding(~2018) 점프와 순간 이동 (0) | 2022.10.14 |
[Python/파이썬] 2022 KAKAO BLIND RECRUITMENT 주차 요금 계산 (0) | 2022.10.13 |
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
def solution(n): answer = 0 acc = [0 for _ in range(n+1)] # 누적합 for i in range(1, n+1): acc[i] = i + acc[i-1] for i in range(n, -1, -1): for j in range(i-1, -1, -1): if acc[i] - acc[j] == n: answer += 1 break elif acc[i] - acc[j] > n: break return answer
투포인터로 풀어볼까 하다가 누적합으로 풀었다. 다른 사람들 풀이 보니 투포인터로 한 사람도 있는거 같다.
처음에 시간초과 나와서 쓸데없이 for문 더 안 돌도록 아래의 코드 추가해줬더니 통과
elif acc[i] - acc[j] > n: break
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 프로그래머스 다음 큰 숫자 (0) | 2022.10.21 |
---|---|
[Python/파이썬] 프로그래머스 최고의 집합 (0) | 2022.10.19 |
[Python/파이썬] 프로그래머스 올바른 괄호 (0) | 2022.10.18 |
[Python/파이썬] Summer/Winter Coding(~2018) 점프와 순간 이동 (0) | 2022.10.14 |
[Python/파이썬] 2022 KAKAO BLIND RECRUITMENT 주차 요금 계산 (0) | 2022.10.13 |