전체 글(230)
-
9024 - 두 수의 합
문제https://www.acmicpc.net/problem/9024느낀점투 포인터 알고리즘 자체는 어렵지 않았지만, 많은 수의 입력이 들어올 때, 동기화 해주어야했다. 이런 부분이 백준 문제가 짜증나는 듯..풀이#include #include #include using namespace std;int main(){ int t; cin >> t; std::ios::sync_with_stdio(false); for (int i = 0; i > n >> K; vector arr(n); for (int k = 0; k > arr[k]; } sort(arr.begin(), arr.end()); int left = 0, right..
2025.02.18 -
19583 - 싸이버개강총회
문제https://www.acmicpc.net/problem/19583느낀점단순한 문자열 구현 문제, 크기를 모르는 입력 받는 것과 엣지 케이스를 처리하는 것이 꽤 어려웠다.풀이#include #include #include #include using namespace std;int main(){ string S, E, Q; cin >> S >> E >> Q; int chatCnt = 0; string time, nickname; map nicknames; while (cin >> time >> nickname) // 🔥 한 줄씩 정확히 입력받음 { if (time
2025.02.18 -
3649 - 로봇 프로젝트
문제https://www.acmicpc.net/problem/3649느낀점얼마나 들어올 지 모르는 입력을 받는 게 꽤 어려웠던 듯. 알고리즘 자체는 어렵지 않은 응용 투포인터였다.풀이#include #include #include using namespace std;#define pii pairint main(){ int x; while (cin >> x) { x *= 10e6; int n; cin >> n; vector lList(n); for (int i = 0; i > lList[i]; } if (n answer; int left = 0, right = n - 1; wh..
2025.02.18 -
2467 - 용액
문제https://www.acmicpc.net/problem/2467느낀점응용 투포인터 문제, 음수만으로 이루어진 경우, 음수/양수 섞인 경우, 양수만으로 이루어진 경우로 나뉘어져 있어서 성공 조건을 생각하는 게 꽤 어려웠다.풀이#include #include #include using namespace std;#define pii pairint main(){ int N; cin >> N; vector arr(N); for (int i = 0; i > arr[i]; } vector> answer; int left = 0, right = N - 1; while (left 0) { answer.push_back(make_pair(d..
2025.02.18 -
2230 - 수 고르기
문제https://www.acmicpc.net/problem/2230느낀점투포인터 응용 문제 였는데, 인덱스를 잘못 산정해서 반례를 찾는데 어려움이 있었다. 항상 left, right 인덱스와 엣지 케이스를 잘 생각해보자풀이#include #include #include using namespace std;int main(){ int N; long long M; cin >> N >> M; vector arr(N); for (int i = 0; i > arr[i]; } sort(arr.begin(), arr.end()); int left = 0; vector answer; for (int right = 0; right = N) ..
2025.02.17 -
2118 - 두 개의 탑
문제https://www.acmicpc.net/problem/2118느낀점투 포인터를 응용하는 문제였는데, 괜히 정렬하면서 문제 마음대로 해석했다가 틀렸다.. 문제를 똑바로 읽자..풀이#include #include #include using namespace std;#define pii pairint main(){ int N; cin >> N; vector distance; distance.push_back(make_pair(0, 0)); long long totalDistance = 0; for (int i = 0; i > temp; totalDistance += temp; distance.push_back(make_pair(i + 1, tem..
2025.02.17