반응형

투포인터 2

[자바] Two Pointer 알고리즘

Two Pointer 알고리즘 (투 포인터 알고리즘)개념투 포인터 알고리즘은 배열이나 리스트에서 두 개의 포인터를 사용하여 효율적으로 목표(문제)를 해결하는 기법으로 정렬된 배열에서 특정 조건을 만족하는 부분을 찾을 때 사용하면 시간 복잡도를 줄이는 매우 좋다.로직두 개의 포인터를 사용하여 배열을 탐색보통 하나를 왼쪽(배열 인덱스0)에서 시작, 다른 하나는  오른쪽에서 시작하여  특정 조건을 만족하는 경우를 찾는다.문제 유형에따라 오른쪽 시작 지점이 0부터 시작할 수도 있고 배열 인덱스의 최대치에서부터 시작할 수 있다.대표 유형두 수 의 합배열이 정렬된 상태에서 투 포인터를 사용하여 두 수의 합이 특정 값이 되는지 찾는 문제로직왼쪽 인덱스 left를 0으로, 오른쪽 인덱스 right를 배열의 끝으로 설정..

알고리즘 2025.03.15

[백준 파이썬] 1644 소수의 연속합

[백준 파이썬] 1644 소수의 연속합 문제 하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 하지만 연속된 소수의 합으로 나타낼 수 없는 자연수들도 있는데,20이 그 예이다 7+13을 하면 20이 되기는 하지만 두수는 연속된 소수가 아니기에 적합한 표현이 아니다. 한 소수는 반드시 한번만 사용할수 있다. 입력 첫째 줄에 자연수 N이 주어진다 출력 주어진 N을 연속된 소수의 합으로 나타낼 수 있는 경우의 수를 출력한다. 풀이 소수를 찾기위해 난 에스토라체 라는 알고리즘을 사용하여 소수인 경우 1의 값을 넣어 소수인걸 나중에 확인할수 있도록 하였다. 시작위치를 start=1 부터 시작하게 하여 소수이면 sum에 더하게 하여 sum이 찾는값에 도달하면 경우의수 +1 ,start +1 을 하..

반응형