티스토리 뷰
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
Chatper 2. 기초 알고리즘
10강. 투 포인터 알고리즘 소개
11강. 투 포인터 사용 예제 1
Two-Pointer Algorithm 정의
- Two-Point Algorithm(투 포인터 알고리즘) : 1차원 배열에서 각자 다른 원소를 가리키고 있는 2개의 포인터를 조작해가면서 원하는 값을 찾을 때 까지 탐색하는 알고리즘이다.
- 리스트에 순차적으로 접근해야 할 때 두 개의 점(포인트)의 위치를 기록하면서 처리한다.
[Algorithm] Two-Pointers Algorithm (투 포인터 알고리즘)
[Algorithm] Two-Pointers Algorithm (투 포인터 알고리즘)
Two-Point Algorithm(투 포인터 알고리즘) : 1차원 배열에서 각자 다른 원소를 가리키고 있는 2개의 포인터를 조작해가면서 원하는 값을 찾을 때 까지 탐색하는 알고리즘이다.리스트에 순차적으로 접
velog.io
이전 완전탐색 알고리즘보다 훨씬 빠르게 탐색할 수 있다.
문제 2003번: 수들의 합 2
이제 문제 풀이 영상도 30분이네.. 길다...
풀이
못 풀었다. 아니 개념 설명할 때는 main을 0 인덱스로 sub를 arr의 가장 마지막 인덱스로 두셔서, 나도 문제 풀이 때 그렇게 적용했는데. 지금 문제 푸실 때 보니까 갑자기 start랑 end 둘다 0으로 설정하셨다;; 으잉?....
다른 블로그 포스팅을 보니 전부 0으로 잡고 시작한다. 그럼 왜 강의 개념 설명에서는 end를 0으로 안 잡고 배열 제일 마지막에 잡은 건지? ...
강사 풀이
N, M = map(int, input().split())
A = list(map(int, input().split()))
start = 0
end = 0
sum = A[0]
count = 0
while True:
# 현재 구간합이 M인지 확인
if sum == M:
count += 1
# 구간 업데이트
if sum >= M:
start += 1
sum -= A[start -1]
else: # sum < M
if end == N -1:
break
end += 1
sum += A[end]
print(count)
#패스트캠퍼스 #환급챌린지 #패스트캠퍼스후기 #습관형성 #직장인자기계발 #오공완
'Python > 코딩테스트' 카테고리의 다른 글
패스트캠퍼스 환급챌린지 11일차 : 네카라쿠배 취업 끝장내는 파이썬 코딩테스트 마스터 (0) | 2025.04.11 |
---|---|
패스트캠퍼스 환급챌린지 10일차 : 네카라쿠배 취업 끝장내는 파이썬 코딩테스트 마스터 (0) | 2025.04.10 |
패스트캠퍼스 환급챌린지 8일차 : 네카라쿠배 취업 끝장내는 파이썬 코딩테스트 마스터 (1) | 2025.04.08 |
패스트캠퍼스 환급챌린지 7일차 : 네카라쿠배 취업 끝장내는 파이썬 코딩테스트 마스터 (3) | 2025.04.07 |
패스트캠퍼스 환급챌린지 6일차 : 네카라쿠배 취업 끝장내는 파이썬 코딩테스트 마스터 (2) | 2025.04.06 |