줌코딩의 코딩일기
Zoom in Coding
-
(백준 알고리즘 문제풀이) 2839번 설탕배달
문제 문제 링크 어떻게 접근할 것인가? 5로 최대한 나눠주고 3이 나누어 떨어질 때까지 5를 다시 더해주는 식으로 풀었다. 코드 #include <cstdio> int sum, num, left; int main(){ scanf("%d", &num); sum = num / 5; left = num % 5; while(left <= num){ if(left % 3 == 0){ sum += left...
-
(백준 알고리즘 문제풀이) 1476번 날짜계산
문제 문제 링크 어떻게 접근할 것인가? 일단 이문제는 세개의 나머지가 원하는 값 만큼 나올 때까지 나눠주었다. 코드 #include <cstdio> int main(){ int e, s, m; scanf("%d %d %d", &e, &s, &m); int s_left = s % 28, m_left = m % 19; while(1){ if(e % 28 == s_left && e...
-
(백준 알고리즘 문제풀이) 2261번 가장 가까운 두 점
문제 문제 링크 어떻게 접근할 것인가? 라인스위핑 알고리즘을 이해하면 도움이 된다고 해서 라인스위핑을 먼저 공부해봤다. iteration하는 속도를 고려해서 set을 썼다. 하루를 잡고 있었는데 원하는 결과를 결국 못 얻어서 다른 사람의 코드를 참고했다. 그래도 너무 느려서 결국에는 다른 사람의 소스코드를 참고해서 풀었다. 코드 #include <cstdio> #include <vector> #include <cmath> #include <algorithm>...
-
(백준 알고리즘 문제풀이) 1920번 수 찾기
문제 문제 링크 어떻게 접근할 것인가? 벡터에 다 담고 솔트한다. 솔트하고 binary search로 찾아본다. 코드 #include <cstdio> #include <vector> #include <algorithm> using namespace std; int main(){ int n, m, input; vector<int> v; scanf("%d", &n); while(n--){ scanf("%d", &input); v.push_back(input); } sort(v.begin(), v.end()); scanf("%d", &m); while(m--){ scanf("%d", &input); if(binary_search(v.begin(), v.end(), input)) printf("1\n");...
-
(백준 알고리즘 문제풀이) 9020번 골드바흐의 추측
문제 문제 링크 어떻게 접근할 것인가? 인풋 중에 가장 큰 수를 찾는다. 에라토스테네스의 체를 이용해서 소수를 찾는다. 각 수의 반반부터 시작해서 두수가 모두 소수인 경우를 찾아서 출력한다. 코드 #include <cstdio> #include <vector> using namespace std; int main(){ int n = 0, m = 0; int check[300000] = {0,}; vector<int> v;...