오블완(21)
-
9414 c++ - 프로그래밍 대회 전용 부지
간단한 정렬 문제이다. (그리디)pow의 헤더를 포함 안해줘서 컴파일 에러가 났다. cmath를 이용하면 된다.두번째 틀린 이유는 sum의 오버플로우 이슈 때문이었다.long long으로 고쳐서 제출하니 통과 되었다.https://www.acmicpc.net/problem/9414#include #include #include #include #define INIT_MONEY 5 * 1000000#define FASTIO ios::sync_with_stdio(0), cin.tie(0)using namespace std;int main() { FASTIO; int t; cin >> t; for (int i = 0; i p; while (1) { cin >> m; if (m ..
2024.11.16 -
7453 c++ - 합이 0인 네 정수
이분탐색 문제입니다. 처음엔 해시로 접근했었습니다. 더보기해시 적용첫 풀이. -> 시간초과map을 사용해서 AB의 합을 먼저 구하고, 이후 CD의 합으로 unordered_map으로 접근 O(1) -> N^2 + N^2의 시간으로 풀 수 있을 거라 판단 최악의 경우 4000^2 + 4000^2으로 32,000,000번의 연산으로 충분히 풀 수 있을 거라 생각했습니다.시간초과의 이유 : 캐시히트의 시간까지 고려가 되어야함.더보기#include #include #include #define FASTIO ios::sync_with_stdio(0), cin.tie(0)using namespace std;int main() { FASTIO; int n; cin >> n; vector A(n), B(n), ..
2024.11.15 -
1655 c++ - 가운데를 말해요
우선순위 큐를 사용하는 문제.처음에는 우선순위 큐, vector의 정렬 중간값을 사용해서 풀이를 진행했는데, 시간초과가 났습니다.그래서 우선순위 큐 두개를 사용하여 최대힙, 최소힙을 사용하여 풀었습니다.더보기 더보기vector v; for (int i = 0; i > t; v.push_back(t); sort(v.begin(), v.end(), less()); cout 더보기#include #include #define FASTIO ios::sync_with_stdio(0), cin.tie(0)using namespace std;int n;int main() { FASTIO; cin >> n; priority_queue, greater> pq; queue q; for (int ..
2024.11.14 -
[Clean Code] 독후감 및 정리 - 2
[Clean Code] 독후감 및 정리 - 1들어가기 앞서 (다시 읽기에 앞서)며칠 전 한 면접을 보게 되면서, "좋은 코드 가독성이라는 것을 어떻게 생각하세요 ?" 라는 질문을 받았습니다. 평소에 지키는 클린 코드라고 생각한 방법들(좋chanhhh.tistory.com지난 편 정리 및 결론 링크입니다.들어가기 앞서 (다시 읽기에 앞서) 이전에 1-3 장에 대해서 클린 코드를 읽고 주변의 프로그래머 지망생 동료와 책에 대한 얘기를 해봤습니다. 호불호가 많이 갈리는 책이다라고 얘기를 해주더라고요. 무조건적인 맹신은 지양하는 게 좋겠다는 뻔한 그런 얘기를 나눈 것 같습니다. 그래도 한 번쯤은 읽어서 좋은 인사이트를 가져가는 게 좋을 거 같다는 뻔한 얘기로 마무리되었습니다. 😊끊임없이 "왜"라는 질문을 문제..
2024.11.13 -
30469 c++ - 호반우가 학교에 지각한 이유 2
소수찾기 문제의 심화버전이다. 알고리즘 분류는 애드 혹이다.체를 사용하여 최적해를 구할 수 있도록 하였다. 더보기 c++ 코드#include #include #include using namespace std;bool prime[100];void savePrime() { memset(prime, true, sizeof(prime)); prime[0] = prime[1] = false; for (int i = 2; i = 10 && c & number) { number[0] = a / 10; number[1] = a % 10; for (int i = 2; i > a >> b >> n; if (!prime[a] || !prime[b]) { cout number(n, 0); if (fin..
2024.11.12