분류 전체보기 164

백준 3273번 두 수의 합 ( C++ )

문제https://www.acmicpc.net/problem/3273 해설투포인터를 사용하는 간단한 문제 코드12345678910111213141516171819202122232425262728293031323334353637383940414243#include iostream>#include algorithm>#include vector> using namespace std; int n, x;long long ret;int main(){  ios_base::sync_with_stdio(false);  cin.tie(NULL);  cout.tie(NULL);   cin >> n;  vectorint> v(n);   for (int i = 0; i  n; i++)    cin >> v[i];  cin >>..

백준 1644번 소수의 연속합 ( C++ )

문제https://www.acmicpc.net/problem/1644 해설소수 구하는방법 외우기 + 시작점과 끝점 이용하는 방법도 고려해보기코드12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455#include iostream>#include algorithm>#include vector>#include cmath> using namespace std; int n, che[4000004], ret;vectorint> arr; bool go(int num){  for (int i = 2; i = sqrt(num); i++)  {    if (num % i == 0)    {   ..

백준 1202번 보석 도둑 ( C++ )

문제https://www.acmicpc.net/problem/1202 해설우선순위 큐와 벡터를 적절히 사용해야하는 문제시간조건이 까다롭기 때문에 신경써야함 코드12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include iostream>#include algorithm>#include vector>#include queue> using namespace std; int n, k, m, v, c;vectorpairint, int>> vec;vectorint> vec2;priority_queueint> pq;long long ret;int main(){  ios_base::sync_with_st..

백준 1931번 회의실 배정 ( C++ )

문제https://www.acmicpc.net/problem/1931 해설라인스위핑 문제끝나는 시간을 기준으로 정렬시켜서 풀면 되는 문제 코드123456789101112131415161718192021222324252627282930313233343536373839404142#include iostream>#include algorithm>#include vector> using namespace std;int n, ret;typedef long long ll;ll start_time, end_time, total_time;vectorpairll, ll>> v; int main(){  ios_base::sync_with_stdio(false);  cin.tie(NULL);  cout.tie(NULL); ..

백준 14469번 소가 길을 건너간 이유 3 ( C++ )

문제https://www.acmicpc.net/problem/14469 해설기본적인 라인 스위핑 문제크게 어려운 부분은 없었음 코드1234567891011121314151617181920212223242526272829#include iostream>#include algorithm>#include vector> using namespace std;int n, total_time, time_start, time_end;vectorpairint, int>> v; int main(){  cin >> n;  for (int i = 0; i  n; i++)  {    cin >> time_start >> time_end;    v.push_back({time_start, time_end});  }  sort(v..

백준 1781번 컵라면 ( C++ )

문제https://www.acmicpc.net/problem/1781 해설기본적인 우선순위 큐를 이용하는 문제 2109문제와 거의 비슷하다코드123456789101112131415161718192021222324252627282930313233343536373839404142#include iostream>#include algorithm>#include vector>#include queue>using namespace std; int n, deadline;typedef long long ll;ll cups, ret;vectorpairint, ll>> v;priority_queuell, vectorll>, greaterll>> pq; int main(){  ios_base::sync_with_stdio..

백준 9935번 문자열 폭발 ( C++ )

문제https://www.acmicpc.net/problem/9935 해설괄호문제에서 조건이 추가된 문제로 해석하면 된다.stack을 사용하여 가장 상단의 값을 빼와 만족할때만 pop()하도록 설정 코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677#include iostream>#include algorithm>#include stack> using namespace std; string line, boom, ret;stackpairchar, int>> s;int boom_len; void g..

백준 2109번 순회강연 ( C++ )

문제https://www.acmicpc.net/problem/2109 해설그리디 알고리즘을 사용하면 되는 문제d가 2인 대학의 경우 1에도 갈 수 있다는 점을 생각해서 풀어야 함 코드123456789101112131415161718192021222324252627282930313233343536373839404142#include iostream>#include algorithm>#include vector>#include queue> using namespace std;int n, d, p, ret;vectorpairint, int>> v;priority_queueint, vectorint>, greaterint>> pq; int main(){  ios_base::sync_with_stdio(false..

백준 3015번 오아시스 재결합 ( C++ )

문제https://www.acmicpc.net/problem/3015 해설키의 범위가 넓어 longlong을 사용해야 하는 문제조금 까다롭지만 길이 제한이 생긴 괄호 문제로 생각하고 풀면 풀 수 있음 코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include iostream>#include algorithm>#include stack> using namespace std;int n, cnt;stackpairlong long, int>> s;long long hight;long long ret; int main(){  ios_base::sync_with_stdio(false);  ..

백준 15353번 큰 수 A+B ( C++ )

문제https://www.acmicpc.net/problem/15353 해설수가 크기 때문에 string을 이용해야 하는 문제뒤에서 부터 더해야 하기 때문에 문자열의 길이를 측정하고 반복문을 돌때마다 --;해줌 코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include iostream> using namespace std;string a, b, ret;int tmp; char go(char i, char j){  int temp = i - '0' + j - '0' + tmp;  tmp = temp / 10;  temp = temp % 10;  return '0' + temp;} int ma..