본문 바로가기
반응형

삼성 C형60

삼성 C형 링크 삼성 A형 - Advanced, 신입사원 입사 기출문제 삼성 B형 - Professional 삼성 C형 - Expert 삼성 C형 샘플 문제 : 블록 부품 맞추기 삼성 C형 샘플 문제 : 블록 부품 맞추기 최적화 #define printf 재정의를 이용한 로그 출력 디버깅 팁 삼성 SW 역량 시험 환경 - 포인터의 크기 (Size of Pointer) 삼성 SW 역량 시험 환경에서의 인라인 함수 Visual Studio LNK1168: 쓰기용으로 열 수 없습니다 해결방법 연산 BOJ 10757 : 큰 수 A+B BOJ 10757 : 큰 수 A+B with 10^N진법 BOJ 2338 : 긴자리 계산 BOJ 2338 : 긴자리 계산 with 10^N진법 36진법 긴자리 두 수의 곱셈 36진법 긴자리 두 수.. 2024. 1. 24.
비트 압축 - 허프만 알고리즘 (Simple Huffman Coding Algorithm) 삼성 C형 전체 링크 참고 - 카드 섞기 알고리즘 - 비트 단위로 출력하기 - 33% 압축하기 - 37.5% 압축하기 1 (8bit : 5bit) - 37.5% 압축하기 2 (16bit : 10bit ~) - 허프만 알고리즘 320개의 'A', 160개의 'B', 80개의 'C', 40개의 'D', 그리고 10개의 'E', 'F', 'G', 'H'가 랜덤으로 분포된 크기 640의 배열이 있다. unsigned char problem[640 + 1] = { 0 }; int cnt = 0; for (int i = 0; i < 320; i++) problem[cnt++] = 'A'; for (int i = 0; i < 160; i++) problem[cnt++] = 'B'; for (int i = 0; i <.. 2023. 9. 2.
char 타입 배열을 다른 타입의 메모리로 사용하기 삼성 C형 전체 링크 정수 500 ~ 1000을 char 타입 memory[1000]에 넣어보자. #include char memory[1000]; void memoryWrite(char memory[]) { for (int i = 500; i < 1000; i++) memory[i - 500] = i; } void memoryRead(char memory[]) { for (int i = 0; i < 500; i++) printf("%d\n", memory[i]); } int main() { memoryWrite(memory); memoryRead(memory); return 0; } 당연히 char 타입은 unsigned인 경우에도 255까지만 넣을 수 있기 때문에 위의 결과가 나오게 된다. 하지만 메.. 2023. 8. 26.
타입 캐스팅으로 입력 빨리 받기, 비트 연산으로 메모리 압축하기 삼성 C형 전체 링크 참고 - 비트 단위로 출력하기 - 36진법 긴자리 두 수의 곱셈 with 36^5진법 + Fast Input 카드 4장이 한 세트로 있고 각 카드에 점수가 있다고 가정하자. 카드 : 0 0 0 0 ~ 카드 : 9 9 9 9로 총 10000개의 카드 세트가 존재한다. 그리고 카드 a b c d 의 점수는 abcd (a * 1000 + b * 100 + c * 10 + d)라고 하자. char card[10000][4]; int answer[10000]; void makeCard() { int count = 0; for (int a = 0; a < 10; a++) for (int b = 0; b < 10; b++) for (int c = 0; c < 10; c++) for (int d .. 2023. 8. 26.
36진법 긴자리 두 수의 곱셈 with 36^5진법 + Fast Input 삼성 C형 전체 링크 참고 - 타입 캐스팅으로 입력 빨리 받기, 비트 연산으로 메모리 압축하기 - BOJ 10757 : 큰 수 A+B - BOJ 10757 : 큰 수 A+B with 10^N진법 - BOJ 2338 : 긴자리 계산 - BOJ 2338 : 긴자리 계산 with 10^N진법 - 36진법 긴자리 두 수의 곱셈 - 36진법 긴자리 두 수의 곱셈 with 36^5진법 - 36진법 긴자리 두 수의 곱셈 with 36^5진법 + Fast Input 아래와 같이 10자리 문자열로 된 숫자가 있다고 가정하자. char number10[] = "1234567890"; 이 문자열로 된 숫자를 int로 바꾸려면 for문을 10번 순회해야 한다. #include char number10[] = "12345678.. 2023. 8. 26.
36진법 긴자리 두 수의 곱셈 with 36^5진법 삼성 C형 전체 링크 참고 - BOJ 10757 : 큰 수 A+B - BOJ 10757 : 큰 수 A+B with 10^N진법 - BOJ 2338 : 긴자리 계산 - BOJ 2338 : 긴자리 계산 with 10^N진법 - 36진법 긴자리 두 수의 곱셈 - 36진법 긴자리 두 수의 곱셈 with 36^5진법 - 36진법 긴자리 두 수의 곱셈 with 36^5진법 + Fast Input BOJ 2338 : 긴자리 계산 with 10^N진법를 참고하여 36^5진법으로 개선이 가능하다. 아래와 같이 진법 계산을 위해 define을 정의하자. (36 ~ 36^5) typedef unsigned long long int ull; #define ONE (36ull) #define TWO (1296ull) #defi.. 2023. 8. 26.
36진법 긴자리 두 수의 곱셈 삼성 C형 전체 링크 참고 - BOJ 10757 : 큰 수 A+B - BOJ 10757 : 큰 수 A+B with 10^N진법 - BOJ 2338 : 긴자리 계산 - BOJ 2338 : 긴자리 계산 with 10^N진법 - 36진법 긴자리 두 수의 곱셈 - 36진법 긴자리 두 수의 곱셈 with 36^5진법 - 36진법 긴자리 두 수의 곱셈 with 36^5진법 + Fast Input 앞자리가 0이 아닌 100자리 36진법(0 ~ 9, A ~ Z) 두 수를 곱해보자. #include #include #define LENGTH_NUMBER (100 + 1) #define LENGTH_OPERANDS (100 + 1) #define LENGTH_RESULT (200 + 2) #define TC_COUNT (.. 2023. 8. 26.
BOJ 2338 : 긴자리 계산 with 10^N진법 알고리즘 문제 전체 링크 삼성 C형 전체 링크 https://www.acmicpc.net/problem/2338 참고 - BOJ 10757 : 큰 수 A+B - BOJ 10757 : 큰 수 A+B with 10^N진법 - BOJ 2338 : 긴자리 계산 - BOJ 2338 : 긴자리 계산 with 10^N진법 - 36진법 긴자리 두 수의 곱셈 - 36진법 긴자리 두 수의 곱셈 with 36^5진법 - 36진법 긴자리 두 수의 곱셈 with 36^5진법 + Fast Input 큰 수 A+B with N진법을 참고하여 뺄셈과 곱셈도 마찬가지로 N진법을 적용해보자. 덧셈의 경우 100000000000000000진법까지 가능했지만, 곱셈은 자릿수가 2배로 오르기 때문에 100000000진법(0이 8개)까지만 가.. 2023. 8. 26.
긴자리 후위 표기법 구현하기 삼성 C형 전체 링크 참고 - 후위 표기식 - 중위 표기식 BOJ 1918 : 후위 표기식을 참고하면, 아래의 규칙대로 중위 표기식을 후위 표기식으로 바꿀 수 있다. 1. stack이 비어있거나 열린 괄호 "(" 는 stack에 넣는다. 2. 열린 괄호 "(" 다음의 연산자는 stack에 넣는다. 3. 현재 stack의 가장 위에 있는 연산자보다 우선순위가 큰 연산자는 넣는다. ( * = / > + = - ) 4. 현재 stack의 가장 위에 있는 연산자보다 우선순위가 낮은 연산자가 들어오려고 한다면, 스택이 비거나, 열린 괄호 "(" 가 나오거나 해당 우선순위가 더 커질 때까지 스택을 비우고, 연산자를 넣는다. 5. 닫힌 괄호 ")" 가 나오면 열린 괄호 "(" 가 나올 때까지 스택을 비운다. 이때, .. 2023. 8. 25.
반응형