알고리즘/백준42 [백준] 11286 절대값 힙 문제의 조건은 1.절대값이 작은 순서대로 2.절대값이 같으면 원래수가 작은 순서대로 힙의 값을 출력 힙은 기본으로 오름차순 정렬을 해주기 때문에 num이 양수로 들어오면 음수로 만들어서 정렬해줬다. 절대 값이 같은경우 음수가 먼저 출력되어야하기 때문에 pair의 second에 num이 양수이면 -1 음수이면 1을 넣어주었다. #include #include #include using namespace std; priority_queue q; int n = 0; int num = 0; //가장 큰 값이 top을 유지 int main() { cin >> n; while (n--) { cin >> num; if (num==0) { if(!q.size()) cout 2022. 4. 13. [백준] 15829 Hashing c++ https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 보자 마다 쉽다고 생각했는데 50 점 맞았다. 문제는 Hash값을 M으로 나누어주는 것만 생각하고 31의 거듭제곱을 나누어줄 생각을 못했다는 것이다. #include #include using namespace std; int main() { int n; string s; cin >> n; cin >> s; int M = 1234567891; long long hash=0,j=1; for (in.. 2022. 4. 13. [백준] 10815숫자카드 c++ 알고리즘 분류는 이분탐색으로 되어있는데 이분탐색으로 안풀고 이렇게 풀어도 될것같아서 이렇게 풀어봤다. 숫자가 마이너스도 들어오기 때문에 배열을 두개 만들어 주었고 들어온 숫자랑 똑같은 인덱스를 체크해주었다. 내일 이분탐색으로도 풀어봐야겠다. #include using namespace std; bool num[10000000]; bool Mnum[10000000]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int m,temp; cin >> m; for (int i = 0; i > temp; if (temp < 0) Mnum[-(temp)] = true; else num[temp.. 2022. 4. 3. [백준]1094막대기 C++ 비트마스킹 문제이다. #include using namespace std; int main() { int temp = 0; for (int i = 0; i 1000 2^3 =8 temp -> 10000 2^4 =16 . . temp ->1000000 2^6 =64 #include using namespace std; //지민이가 가지고 있는 막대의 길이를 모두 더한다.처음에는 64cm 막대 하나만 가지고 있다.이때, 합이 X보다 크다면, 아래와 같은 과정을 반복한다. //가지고 있는 막대 중 길이가 가장 짧은 것을 절반으로 자른다. //만약, 위에서 자른 막대의 절반 중 하나를 버리고 남아있는 막대의 길이의 합이 X보다 크거나 같다.. 2022. 3. 30. 이전 1 ··· 6 7 8 9 10 11 다음