투포인터 [BOJ 골드 4] 팀 빌딩 Kotlin 백준골드투포인터백준골드 [3] Longest Substring Without Repeating Characters | Leetcode Medium Given a string s, find the length of the longest substring without repeating characters. Example 1 Example 2 Example 3 제한사항 0 <= s.length <= 5 * s consists of English letters, digits, symbols and spaces. 결론은 알파벳이 중복되는 것 ... python투포인터leetcodeleetcode [백준 2018] 수들의 합5 (JAVA) 처음엔 N의 크기를 유심히 안 보고, 떠오르는 대로 풀어서 완전 탐색 방식으로 풀었다. TLE가 안 나고 통과하긴 했지만, 정석적으론 투포인터로 푸는 문제이다. 📌 투포인터란? 투포인터 알고리즘은 슬라이딩 윈도우라고 불리기도 한다. N의 값이 매우 커서 완전 탐색 방식으로 풀면 시간초과가 날 때 투포인터를 풀면 해결할 수 있다. 1차원 배열이 있고, 배열 안에서 각자 다른 원소를 가리키고 있... 투포인터알고리즘알고리즘 leetCode 19번 문제 leetcode는 연결리스트 문제에서 ListNode로 입력이 들어온다. n은 뒤에서 몇 번째 요소를 삭제할 지 나타나는 것이다. 일단 저는 제 방법으로 링크드 리스트를 구현해서 풀었었습니다. 삭제 로직이 이해가 어려운 분들을 위해 다시 설명하자면 prev.next = node.next prev -> node -> node.next 이런 형태로 현재는 prev.next는 3일텐데 4 로 바꾼... 투포인터leetcode런너기법알고리즘leetcode [코딩테스트] 고냥이 그런데 이 문제는 투포인터로 문제가 분류되어있음에도, 선형탐색으로도 문제를 충분히 해결할 수 있습니다. 다만 버퍼 역할을 할 리스트가 필요하고, 특정 알파벳이 이미 몇 번 등장했는지만 기억을 하면 될 뿐입니다. 특정 알파벳이 몇 개 등장하였는지 기억해줄 수 있는 checked라는 dict형 변수를 둔다. checked의 key 개수를 매번 세서 다음의 문자를 읽어낼 수 있는지 파악을 하자. ... 코딩테스트선형탐색투포인터선형탐색 [코딩테스트] 어두운 굴다리 그리고 이 문제에서 요구하는 바는, 가로등의 높이로 가능한 최소한의 숫자 입니다. 일단 투포인터 기법으로 풀어야하는 것은 기정사실입니다. 그런데 투포인터 기법을 어떻게 적용해야할까요? 일단 문제를 보시면, 가로등이 비추는 도로는 범위 의 형태로 나타낼 수 있다는 것을 눈치챌 수 있습니다. 그리고 x를 풀스캔하면서 가로등이 비추는 범위를 매번 저장을 할겁니다. 임의의 i에 대하여 x[i], x... 코딩테스트투포인터코딩테스트 [코딩테스트] 용돈 관리 출처: 우선 시간 제한은 1초이고, 메모리 제한은 128MB, N의 경우에는 100000까지 제한이 되어있습니다. 당연하게도 O(N^2) O(N2)은 허용이 되지않고, O(NlogN) O(NlogN)의 복잡도까지만 허용이 되어있습니다. 그러므로 이 문제는 이분탐색으로 접근을 하는게 합리적일 것으로 보입니다. 이제 풀이 전략을 세워보겠습니다. 저희가 구해야하는 것은, 현우가 매번 인출해야하는 ... 코딩테스트투포인터코딩테스트 [코딩테스트] 이상한 술집 출처: 일단 시간 제한은 1초에, 메모리 제한은 512MB입니다. 그리고 N은 10000까지 제한이 되어있는데, 이론상 시간 제한은 1초이기 때문에 O(N^2) O(N2) 의 복잡도까지 가능은 합니다. 그러나 최대한 많은 양의 막걸리를 분배할 수 있는 용량 을 구하는 것이 문제이기 때문에, 이분탐색을 시행해야합니다. 따라서 저는 O(N^2logN) O(N2logN) 의 복잡도로 문제를 해결할... 코딩테스트투포인터코딩테스트 2531번 회전초밥 회전 초밥 음식점에는 회전하는 벨트 위에 여러 가지 종류의 초밥이 접시에 담겨 놓여 있고, 손님은 이 중에서 자기가 좋아하는 초밥을 골라서 먹는다. 초밥의 종류를 번호로 표현할 때, 다음 그림은 회전 초밥 음식점의 벨트 상태의 예를 보여주고 있다. 벨트 위에는 같은 종류의 초밥이 둘 이상 있을 수 있다. 각 고객에게 초밥의 종류 하나가 쓰인 쿠폰을 발행하고, 1번 행사에 참가할 경우 이 쿠폰... 투포인터백준알고리즘백준 [알고리즘] Java / 백준 / 회전 초밥 / 15961 [알고리즘] Java / 백준 / 회전 초밥 / 15961 문제 접근 방식 0번째 초밥부터 k번째 초밥까지의 초밥들을 카운팅 배열에 저장하고 중복을 제외한 값을 카운팅한다 투포인터로 다음 1번째부터 k+1번째 초밥으로 이동하며 이 때 0번째의 초밥을 카운팅 배열에서 제거하고 k+1번째 초밥을 카운팅 배열에 추가한다. 카운팅 배열에서 제거할 초밥이 쿠폰적용 초밥일 경우에는 제거하지 않는다. 코... Javabaekjoon투포인터Java [알고리즘] Java / 백준 / 연속합 / 1912 [알고리즘] Java / 백준 / 연속합 / 1912 문제 접근 방식 투 포인터로 연속 합이 양수일 때까지는 r을 올리면서 합을 더하고, 연속합이 음수가 될 때 l과 r을 r+1로 바꾸고 연속 합을 0으로 초기화 시킨다. 그 도중에 최댓값을 계속 갱신시켜준다. 코드... Javabaekjoon투포인터Java [Python] 백준(2003번) - 수들의 합2 안녕하세요 :) 오랜만에 백준 문제를 풀어보았습니다... i번째 수부터 j번째 합을 구하는 투포인터 문제였습니다. 문제를 크게 3가지로 분류하여 풀었습니다. 1) sum > m 일 때: 현재 구한 합이 m을 초과하므로, i번째 값인 a[i]를 sum에서 빼주고 i++ 해줘서 현재 sum을 수정해줍니다. 2) sum < m 일 때: 현재 구한 합이 m보다 작으므로, j++ 해주고 a[j]를 s... python투포인터코딩테스트python 2003번 수들의 합2 선형적인 list에서 연속적인 값들을 요소로 하여 주어진 값과 비교. O(n)으로 풀 수 있을 듯! 주어진 값과 비교할 요소값들을 모은 list를 s라고 하자. s+new가 M보다 작다면 다음 요소를 조회하여 조사한다. s+new가 M보다 크다면 어차피 s의 첫번째 요소를 삭제해야 한다. WHILE문을 이용해 s+new가 M보다 작아질때까지 요소를 삭제한다. ( 이 때 놓친 부분이 있다면 n... 구현투포인터bojboj 1644번 소수의 연속합 - node.js 해당 포스팅은 백준 1644번 소수의 연속합 풀이를 다룬다. 코드는 javascript로 작성하였다. 문제 설명 자연수가 주어졌을 때, 이 자연수를 연속된 소수의 합으로 나타낼 수 있는 경우의 수를 구하는 프로그램을 작성하자. 가능한 케이스 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 가지) ... 투포인터에라토스테네스의 체백준백준 [ BOJ 2003 ] 수들의 합2(Python) 문제 투 포인터의 대표 문제 ! ☝🏻 문제 풀이 0. 입력 받기 1. 투 포인터를 움직이면서 값 비교하기 순차적으로 탐색하기 위해 l 포인터는 for문으로 호출한다. hap이 m보다 작고, r 포인터가 범위 내에 있는 동안에 해당되는 요소들을 hap에 더한다. 만약 hap이 m과 같다면 answer += 1 한 칸 이동하기 위해 hap에서 l 포인터가 가리키는 숫자를 빼준다. 코드... 백준투포인터백준 백준 2531번: 회전 초밥 난이도 - 실버1 🥈 알고리즘 분류: 투포인터 윈도우 사이즈가 k로 정해져있어서, 윈도우를 먼저 만든다음, 한칸씩 이동하면서 최대값을 갱신하면됩니다 한줄평가: 무난무난... 투포인터백준백준 백준 파이썬 2018 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수(1 <= N <= 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한다. 이때, 사용하는 자연수는 N 이하여야 한다. 예를 들어, 15를 나타내는 방법은 15, 7+8, 4+5+6, 1+2+3+4+5의 4가지가 있다. 반면에 10을 나타내는 방법은 1... 알고리즘백준2018파이썬투포인터2018
[BOJ 골드 4] 팀 빌딩 Kotlin 백준골드투포인터백준골드 [3] Longest Substring Without Repeating Characters | Leetcode Medium Given a string s, find the length of the longest substring without repeating characters. Example 1 Example 2 Example 3 제한사항 0 <= s.length <= 5 * s consists of English letters, digits, symbols and spaces. 결론은 알파벳이 중복되는 것 ... python투포인터leetcodeleetcode [백준 2018] 수들의 합5 (JAVA) 처음엔 N의 크기를 유심히 안 보고, 떠오르는 대로 풀어서 완전 탐색 방식으로 풀었다. TLE가 안 나고 통과하긴 했지만, 정석적으론 투포인터로 푸는 문제이다. 📌 투포인터란? 투포인터 알고리즘은 슬라이딩 윈도우라고 불리기도 한다. N의 값이 매우 커서 완전 탐색 방식으로 풀면 시간초과가 날 때 투포인터를 풀면 해결할 수 있다. 1차원 배열이 있고, 배열 안에서 각자 다른 원소를 가리키고 있... 투포인터알고리즘알고리즘 leetCode 19번 문제 leetcode는 연결리스트 문제에서 ListNode로 입력이 들어온다. n은 뒤에서 몇 번째 요소를 삭제할 지 나타나는 것이다. 일단 저는 제 방법으로 링크드 리스트를 구현해서 풀었었습니다. 삭제 로직이 이해가 어려운 분들을 위해 다시 설명하자면 prev.next = node.next prev -> node -> node.next 이런 형태로 현재는 prev.next는 3일텐데 4 로 바꾼... 투포인터leetcode런너기법알고리즘leetcode [코딩테스트] 고냥이 그런데 이 문제는 투포인터로 문제가 분류되어있음에도, 선형탐색으로도 문제를 충분히 해결할 수 있습니다. 다만 버퍼 역할을 할 리스트가 필요하고, 특정 알파벳이 이미 몇 번 등장했는지만 기억을 하면 될 뿐입니다. 특정 알파벳이 몇 개 등장하였는지 기억해줄 수 있는 checked라는 dict형 변수를 둔다. checked의 key 개수를 매번 세서 다음의 문자를 읽어낼 수 있는지 파악을 하자. ... 코딩테스트선형탐색투포인터선형탐색 [코딩테스트] 어두운 굴다리 그리고 이 문제에서 요구하는 바는, 가로등의 높이로 가능한 최소한의 숫자 입니다. 일단 투포인터 기법으로 풀어야하는 것은 기정사실입니다. 그런데 투포인터 기법을 어떻게 적용해야할까요? 일단 문제를 보시면, 가로등이 비추는 도로는 범위 의 형태로 나타낼 수 있다는 것을 눈치챌 수 있습니다. 그리고 x를 풀스캔하면서 가로등이 비추는 범위를 매번 저장을 할겁니다. 임의의 i에 대하여 x[i], x... 코딩테스트투포인터코딩테스트 [코딩테스트] 용돈 관리 출처: 우선 시간 제한은 1초이고, 메모리 제한은 128MB, N의 경우에는 100000까지 제한이 되어있습니다. 당연하게도 O(N^2) O(N2)은 허용이 되지않고, O(NlogN) O(NlogN)의 복잡도까지만 허용이 되어있습니다. 그러므로 이 문제는 이분탐색으로 접근을 하는게 합리적일 것으로 보입니다. 이제 풀이 전략을 세워보겠습니다. 저희가 구해야하는 것은, 현우가 매번 인출해야하는 ... 코딩테스트투포인터코딩테스트 [코딩테스트] 이상한 술집 출처: 일단 시간 제한은 1초에, 메모리 제한은 512MB입니다. 그리고 N은 10000까지 제한이 되어있는데, 이론상 시간 제한은 1초이기 때문에 O(N^2) O(N2) 의 복잡도까지 가능은 합니다. 그러나 최대한 많은 양의 막걸리를 분배할 수 있는 용량 을 구하는 것이 문제이기 때문에, 이분탐색을 시행해야합니다. 따라서 저는 O(N^2logN) O(N2logN) 의 복잡도로 문제를 해결할... 코딩테스트투포인터코딩테스트 2531번 회전초밥 회전 초밥 음식점에는 회전하는 벨트 위에 여러 가지 종류의 초밥이 접시에 담겨 놓여 있고, 손님은 이 중에서 자기가 좋아하는 초밥을 골라서 먹는다. 초밥의 종류를 번호로 표현할 때, 다음 그림은 회전 초밥 음식점의 벨트 상태의 예를 보여주고 있다. 벨트 위에는 같은 종류의 초밥이 둘 이상 있을 수 있다. 각 고객에게 초밥의 종류 하나가 쓰인 쿠폰을 발행하고, 1번 행사에 참가할 경우 이 쿠폰... 투포인터백준알고리즘백준 [알고리즘] Java / 백준 / 회전 초밥 / 15961 [알고리즘] Java / 백준 / 회전 초밥 / 15961 문제 접근 방식 0번째 초밥부터 k번째 초밥까지의 초밥들을 카운팅 배열에 저장하고 중복을 제외한 값을 카운팅한다 투포인터로 다음 1번째부터 k+1번째 초밥으로 이동하며 이 때 0번째의 초밥을 카운팅 배열에서 제거하고 k+1번째 초밥을 카운팅 배열에 추가한다. 카운팅 배열에서 제거할 초밥이 쿠폰적용 초밥일 경우에는 제거하지 않는다. 코... Javabaekjoon투포인터Java [알고리즘] Java / 백준 / 연속합 / 1912 [알고리즘] Java / 백준 / 연속합 / 1912 문제 접근 방식 투 포인터로 연속 합이 양수일 때까지는 r을 올리면서 합을 더하고, 연속합이 음수가 될 때 l과 r을 r+1로 바꾸고 연속 합을 0으로 초기화 시킨다. 그 도중에 최댓값을 계속 갱신시켜준다. 코드... Javabaekjoon투포인터Java [Python] 백준(2003번) - 수들의 합2 안녕하세요 :) 오랜만에 백준 문제를 풀어보았습니다... i번째 수부터 j번째 합을 구하는 투포인터 문제였습니다. 문제를 크게 3가지로 분류하여 풀었습니다. 1) sum > m 일 때: 현재 구한 합이 m을 초과하므로, i번째 값인 a[i]를 sum에서 빼주고 i++ 해줘서 현재 sum을 수정해줍니다. 2) sum < m 일 때: 현재 구한 합이 m보다 작으므로, j++ 해주고 a[j]를 s... python투포인터코딩테스트python 2003번 수들의 합2 선형적인 list에서 연속적인 값들을 요소로 하여 주어진 값과 비교. O(n)으로 풀 수 있을 듯! 주어진 값과 비교할 요소값들을 모은 list를 s라고 하자. s+new가 M보다 작다면 다음 요소를 조회하여 조사한다. s+new가 M보다 크다면 어차피 s의 첫번째 요소를 삭제해야 한다. WHILE문을 이용해 s+new가 M보다 작아질때까지 요소를 삭제한다. ( 이 때 놓친 부분이 있다면 n... 구현투포인터bojboj 1644번 소수의 연속합 - node.js 해당 포스팅은 백준 1644번 소수의 연속합 풀이를 다룬다. 코드는 javascript로 작성하였다. 문제 설명 자연수가 주어졌을 때, 이 자연수를 연속된 소수의 합으로 나타낼 수 있는 경우의 수를 구하는 프로그램을 작성하자. 가능한 케이스 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 가지) ... 투포인터에라토스테네스의 체백준백준 [ BOJ 2003 ] 수들의 합2(Python) 문제 투 포인터의 대표 문제 ! ☝🏻 문제 풀이 0. 입력 받기 1. 투 포인터를 움직이면서 값 비교하기 순차적으로 탐색하기 위해 l 포인터는 for문으로 호출한다. hap이 m보다 작고, r 포인터가 범위 내에 있는 동안에 해당되는 요소들을 hap에 더한다. 만약 hap이 m과 같다면 answer += 1 한 칸 이동하기 위해 hap에서 l 포인터가 가리키는 숫자를 빼준다. 코드... 백준투포인터백준 백준 2531번: 회전 초밥 난이도 - 실버1 🥈 알고리즘 분류: 투포인터 윈도우 사이즈가 k로 정해져있어서, 윈도우를 먼저 만든다음, 한칸씩 이동하면서 최대값을 갱신하면됩니다 한줄평가: 무난무난... 투포인터백준백준 백준 파이썬 2018 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수(1 <= N <= 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한다. 이때, 사용하는 자연수는 N 이하여야 한다. 예를 들어, 15를 나타내는 방법은 15, 7+8, 4+5+6, 1+2+3+4+5의 4가지가 있다. 반면에 10을 나타내는 방법은 1... 알고리즘백준2018파이썬투포인터2018