본문 바로가기
반응형

삼성 C형60

C, C++ - 비트 단위로 출력하기 (Print Bit) C, C++ 전체 링크 삼성 C형 전체 링크 아래와 같이 %x 옵션을 이용하면 4비트 (0 ~ F)로 값을 출력할 수 있다. #include typedef unsigned long long int ull; int main(void) { ull h = 1023; printf("0x%08X\n", h); return 0; } 이제 변수가 주어질 때, 1 비트 단위로 출력하는 함수를 만들어보자. printBitNumber를 템플릿을 이용해서 만들고 mask를 이용해 최상위 비트부터 하나씩 내려가면서 출력한다. // signed에서 error 발생 #include typedef unsigned char uc; typedef unsigned short us; typedef unsigned int ui; typed.. 2023. 6. 3.
비트 on / off C, C++ 전체 링크 삼성 C형 전체 링크 참고 - 비트 단위로 출력하기 구현은 아래를 참고하자. #include template void printBitNumber(T number) { unsigned int bitSize = sizeof(number) * 8; T mask = (1ull) = 1; if (i % 8 == 7) printf(" "); } putchar('\n'); } int main(void) { int x; printf("제일 오른쪽 1-비트 끄기 (ex: 01011000 => 01010000)\n"); x = 2152; printBitNumber(x); x &= (x - 1); printBitNumber(x); printf("===============================.. 2023. 1. 24.
BOJ 2751 : 수 정렬하기 2 with 계수 정렬 (Counting Sort) 알고리즘 문제 전체 링크 https://www.acmicpc.net/problem/2751 주어지는 숫자가 -1,000,000 ~ 1,000,000이기 때문에 0 ~ 2,000,000으로 바꾼다. 그리고 a[0 ~ 2,000,000]에는 각 원소의 개수를 증가시키고, 출력할 때는 작은 값부터 원소의 개수만큼 출력하고 다음으로 넘어간다. #include #define MINUS (1000000) int N; int a[1000000 + MINUS + 1000]; int main(void) { scanf("%d", &N); for (int i = 0; i < N; i++) { int tmp; scanf("%d", &tmp); a[tmp + MINUS]++; } for (int i = 0; i 2023. 1. 22.
BOJ 10999 : 구간 합 구하기 2 with 나중에 업데이트하기 (Top-Down Segment Tree with Lazy Propagation) 알고리즘 문제 전체 링크 삼성 B형 전체 링크 삼성 C형 전체 링크 https://www.acmicpc.net/problem/10999 참고 - 구간 합 구하기 with 제곱근 분할법 (Sqrt Decomposition) - 구간 합 구하기 with 탑 다운 세그먼트 트리 (Top-Down Segment Tree) - 구간 합 구하기 with 바텀 업 세그먼트 트리 (Bottom-Up Segment Tree) - 구간 합 구하기 2 with 나중에 업데이트하기 (Top-Down Segment Tree with Lazy Propagation) BOJ 2042 - 구간 합 구하기와 비슷한 문제지만, 배열의 갱신이 연속된 특정 구간에 발생한다. 매 구간마다 하나씩 구간의 값을 바꾸면 느리기 때문에 알고리즘을 .. 2023. 1. 16.
BOJ 2042 : 구간 합 구하기 with 바텀 업 세그먼트 트리 (Bottom-Up Segment Tree) 알고리즘 문제 전체 링크 삼성 B형 전체 링크 삼성 C형 전체 링크 https://www.acmicpc.net/problem/2042 참고 - 구간 합 구하기 with 제곱근 분할법 (Sqrt Decomposition) - 구간 합 구하기 with 탑 다운 세그먼트 트리 (Top-Down Segment Tree) - 구간 합 구하기 with 바텀 업 세그먼트 트리 (Bottom-Up Segment Tree) - 구간 합 구하기 2 with 나중에 업데이트하기 (Top-Down Segment Tree with Lazy Propagation) 여러 배열이 있고 구간의 합이 쿼리로 주어지면 합을 구해서 답을 구하는 문제다. 바텀 업 세그먼트 트리를 이용하여 구간 합을 구해보자. 주어진 구간의 합을 구해야할 배.. 2023. 1. 15.
BOJ 2042 : 구간 합 구하기 with 탑 다운 세그먼트 트리 (Top-Down Segment Tree) 알고리즘 문제 전체 링크 삼성 B형 전체 링크 삼성 C형 전체 링크 https://www.acmicpc.net/problem/2042 참고 - 구간 합 구하기 with 제곱근 분할법 (Sqrt Decomposition) - 구간 합 구하기 with 탑 다운 세그먼트 트리 (Top-Down Segment Tree) - 구간 합 구하기 with 다이나믹 세그먼트 트리 (Dynamic Segment Tree) - 구간 합 구하기 with 바텀 업 세그먼트 트리 (Bottom-Up Segment Tree) - 구간 합 구하기 2 with 나중에 업데이트하기 (Top-Down Segment Tree with Lazy Propagation) 여러 배열이 있고 구간의 합이 쿼리로 주어지면 합을 구해서 답을 구하는 문.. 2023. 1. 15.
BOJ 2042 : 구간 합 구하기 with 제곱근 분할법 (Sqrt Decomposition) 알고리즘 문제 전체 링크 삼성 B형 전체 링크 삼성 C형 전체 링크 https://www.acmicpc.net/problem/2042 참고 - 구간 합 구하기 with 제곱근 분할법 (Sqrt Decomposition) - 구간 합 구하기 with 탑 다운 세그먼트 트리 (Top-Down Segment Tree) - 구간 합 구하기 with 바텀 업 세그먼트 트리 (Bottom-Up Segment Tree) - 구간 합 구하기 2 with 나중에 업데이트하기 (Top-Down Segment Tree with Lazy Propagation) 여러 배열이 있고 구간의 합이 쿼리로 주어지면 합을 구해서 답을 구하는 문제다. 아래와 같이 크기가 20인 배열이 있다고 가정하자. 문제에서는 배열이 1부터 시작하지만.. 2023. 1. 15.
BOJ 1935 : 후위 표기식2 알고리즘 문제 전체 링크 삼성 C형 전체 링크 https://www.acmicpc.net/problem/1935 참고 - 스택 - 괄호 - 후위 표기식 (중위 표기식을 후위 표기식으로 변경하기) - 중위 표기식 후위 표기식의 연산은 매우 간단하다. 다음의 규칙대로 구현하면 된다. 1. 숫자는 stack에 넣는다. 2. 연산자가 나오면 stack에서 숫자 두 개를 빼고 연산한 후, 결과를 다시 스택에 집어 넣는다. 이때, 처음 나온 숫자가 뒤에 있는 연산이 된다. ( - 연산자를 만나고 a가 먼저 나온 후 b가 나온다면 b - a가 된다.) 3. 위 과정을 모두 반복하고 스택에 남아 있는 숫자가 최종 연산 결과가 된다. 숫자(알파벳)와 연산자를 구분하기 위해 table 배열을 사용하여서 위의 내용을 구현한.. 2022. 12. 26.
BOJ 1918 : 후위 표기식 알고리즘 문제 전체 링크 삼성 C형 전체 링크 https://www.acmicpc.net/problem/1918 참고 - 스택 - 괄호 - 후위 표기식2 (후위 표기식 연산하기) - 중위 표기식 중위 표기법(infix)으로 주어진 식을 후위 표기법(postfix)으로 바꿔보자. 아래의 규칙대로 구현하면 중위 표기식을 후위 표기식으로 바꿀 수 있다. 1. stack이 비어있거나 열린 괄호 "(" 는 stack에 넣는다. 2. 열린 괄호 "(" 다음의 연산자는 stack에 넣는다. 3. 현재 stack의 가장 위에 있는 연산자보다 우선순위가 큰 연산자는 넣는다. ( * = / > + = - ) 4. 현재 stack의 가장 위에 있는 연산자보다 우선순위가 낮은 연산자가 들어오려고 한다면, 스택이 비거나, 열린.. 2022. 12. 26.
반응형