Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 조지 불
- 성적 입력받기
- insert()
- false
- append()
- 합집합
- index()
- 귀도 반 로섬
- 입출력
- null # undefined
- 부스트캠프
- 불리안
- pop()
- html
- input()
- Java Script # == # === # difference # 차이
- a=1
- Python
- 정보를 담을 수 있는 그릇
- 그룹 # 그룹 해체 # 단축키 #figma #Figma
- 차집합
- 딥러닝
- 파이썬
- 변할 수 있는
- 1일차
- 변수
- 변수와 입출력
- del()
- 리스트와 차이점
- 조건문 큰 수부터 입력받아야하는 이유
Archives
- Today
- Total
I about me
[Do it! 알고리즘 코딩테스트 with Python] 구간합 본문
Algorithm/Do it! 알고리즘 코딩테스트 with Python
[Do it! 알고리즘 코딩테스트 with Python] 구간합
ssungni 2024. 3. 12. 21:33[출처: 10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트 | 1주차 시간복잡도, 빅오표기법, 공간복잡도, 누적합, 구현]
위와 같이 진행할 경우, N이 10만이라는 숫자가 주어질 때, 10만 * 10만 = 100억의 시간복잡도가 생긴다. 이것은 불가능할 확률이 높다는 뜻이니 다른 방법을 써야한다! 함께 누적합을 알아보자.
다음과 같이 1번 박스, 2번 박스, 3번 박스 이렇게 만들어 놓고, 원하는 값이 있을 때 만들어놓은 박스들을 이용해서 구하는 방법이다! 근데 또 1번 박스 따로, 2번 박스 따로, 이렇게 만드는 것은 쉽지 않다. 그러므로 이전에 만들어놓은 값에 그 해당 요소만 더해가는 방식으로 만들어준다.
psum[1]
psum[2] = psum[1] + a[2]
psum[3] = psum[2] + a[3]
....
'Algorithm > Do it! 알고리즘 코딩테스트 with Python' 카테고리의 다른 글
[Do it! 알고리즘 코딩테스트 with Python] 그리디 (0) | 2024.03.14 |
---|---|
[Do it! 알고리즘 코딩테스트 with Python] 구현 (1) | 2024.03.12 |
[Do it! 알고리즘 코딩테스트 with Python] 스택과 큐 (0) | 2024.03.11 |
[Do it! 알고리즘 코딩테스트 with Python] 배열과 리스트 (0) | 2024.03.06 |
[Do it! 알고리즘 코딩테스트 with Python] 디버깅 (0) | 2024.03.06 |