✏️ 문제 링크https://www.acmicpc.net/problem/31778 ✏️ 문제 설명 ✏️ 문제 풀이얼마 전 포스텍 open contest에 나왔던 문제입니다.군대에서 짜투리 시간 내서 참가해서 도전했었던 문제인데 계속 풀지를 못했던 문제입니다..분명 딱 봤을 때 투포인터랑 dp를 이용해야 한다는 거는 알았는데 11번 제출해서 모두 틀렸습니다 하하하 거두절미하고 문제 본론으로 넘어가보겠습니다.문자열을 교환하고 PPC 문자열을 만들 수 있는 개수를 출력해야 하는데, 교환은 최대 k번할 수 있습니다.이 말은 꼭 k번을 교환할 필요는 없다는 말입니다. 문자열 교환의 핵심은 P가 최대한 앞으로 C가 최대한 뒤로 가야 합니다.여기서 투 포인터 방식을 이용해서 교환을 해야 합니다. 자세한 내용은 코..
✏️ 문제 링크 https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net ✏️ 문제 설명 ✏️ 문제 풀이 입력 받은 배열을 정렬한 후 투 포인터로 탐색하는 문제이고 몇 가지 경우의 수로 나눠서 접근해야 합니다. 1. 입력받은 용액값이 모두 음수일 때 => 0에서 가장 가까운 최댓값 2개 출력 2. 입력받은 용액값이 모두 양수일 때 => 0에서 가장 가까운 최솟값 2개 출력 3. 그 이외의 경우 => 투 포인터로 탐색하기..
백준 1253번 좋다 https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net ● N이 최대 2000이므로 시간 복잡도는 최소 O(nlogn)이 되어야 하므로 투 포인터 알고리즘 사용하기 ● 정렬된 데이터에서 자기 자신을 좋은 수 만들기에 포함시키면 안 됨 ● 수를 입력받아 배열에 입력받은 후 정렬 ● 투 포인터 i,j를 배열 A 양끝에 위치시키고 적합한 투 포인터 이동원칙을 활용, 판정이 되는 수를 K라고 지정 ● 투 포인터 이동 원칙 A[i] + A[j] < K : i++; A..
백준 2018번 수들의 합 5 https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net ● start_index와 end_index를 1로 초기화해주고 count도 1로 초기화(N만 고를 때의 경우의 수를 미리 더해놓기) ● 투 포인터 이동 원칙에 따라서 반복문 시행하기 sum > N : sum = sum - start_index; start_index++; sum == N : end_index++; sum = sum + end_i..
- Total
- Today
- Yesterday
- 투 포인터
- 스프링 부트 crud 게시판 구현
- 알고리즘 공부
- 백준 풀이
- js
- HTML5
- 반복문
- 에라토스테네스의 체
- 유니온 파인드
- 백준
- 세그먼트 트리
- DP
- c++ string
- 스택
- 알고리즘
- CSS
- 유클리드 호제법
- 우선순위 큐
- html
- BFS
- java
- 자바스크립트
- C++
- 카운팅 정렬
- C++ Stack
- 자바
- 이분 매칭
- 자료구조
- DFS
- Do it!
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |