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 |
Tags
- 1차원 DP
- 2차원 dp
- 99클럽
- @BeforeAll
- @BeforeEach
- @Builder
- @Entity
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Query
- @Table
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- api gateway 설계
- api gateway 필터
- ApplicationEvent
- assertThat
- async/await
- AVG
- AWS
- aws eks
- AWS KMS
- aws 연동
- AWS 프리티어
- Azure
Archives
- Today
- Total
기록
프로그래머스_두 큐 합 같게 만들기 본문
문제
https://school.programmers.co.kr/learn/courses/30/lessons/118667
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
투 포인터
투 포인터 알고리즘은 주로 배열 또는 리스트에서 두 개의 포인터(인덱스)를 사용하여 특정 조건을 만족하는 부분 구간을 탐색하는 알고리즘이다. 시작과 끝을 가리키는 두 포인터를 이동하며 구간을 조절하며 조건을 만족하는 구간을 효율적으로 찾을 수 있다.
코드
def solution(queue1, queue2):
s, e = 0, len(queue1)
queue = queue1+queue2
sm = sum(queue[s:e])
tg = sum(queue)/2
ans = 0
while e<len(queue) :
if sm == tg : return ans
if sm < tg :
sm += queue[e]
e += 1
elif sm > tg :
sm -= queue[s]
s += 1
ans += 1
return -1
'코딩테스트 > python' 카테고리의 다른 글
프로그래머스_요격 시스템 (0) | 2023.09.10 |
---|---|
백준_1509_팰린드롬 분할 (0) | 2022.10.10 |
백준_1647_도시 분할 계획 (0) | 2022.10.06 |
백준_9466_텀 프로젝트 (0) | 2022.10.05 |
백준_16724_피리 부는 사나이 (0) | 2022.10.04 |