본문 바로가기
반응형

삼성 B형60

삼성 B형 링크 삼성 A형 - Advanced, 신입사원 입사 기출문제 삼성 B형 - Professional 삼성 C형 - Expert 개념 설명 메모리 풀 Memory Pool 메모리 풀 vs malloc 속도 비교 링크드 리스트 Linked List 링크드 리스트 Linked List Tail ver 링크드 리스트 삭제 (삼성 B형 샘플 문제 : 숫자야구게임) 해시 테이블 Hash Table 해시 테이블 추가, 삭제, 수정, 검색 해시 응용 - 2차원 배열 탐색 해시 응용 - Rush Hour Puzzle (2차원 배열 탐색 응용) 해시 테이블 성능 비교 머지 소트 Merge Sort 우선순위 큐 Priority Queue 우선순위 큐 응용 (1) - 두 개의 heap을 이용하여 중앙값 찾기 우선순위 큐 응용 (2).. 2024. 1. 24.
타입 캐스팅으로 deep copy, memcpy 구현하기 (Memory Copy with Type Casting) 삼성 C형 전체 링크 참고 - 타입 캐스팅으로 한 번에 메모리 쓰기, 읽기 삼성 C형에서는 string.h 라이브러리를 사용할 수 없기 때문에 memcpy를 사용할 수 없다. 그래서 배열을 복사할 때, for문을 이용해 직접 복사한다. 그런데 임시 변수 없이 변수 바꾸기에서 long 타입을 캐스팅하여 배열을 한꺼번에 교체하였다. 이 방법을 더 확장하여 더 빠른 copy를 메모리 casting으로 구현할 수 있다. 1차원 배열 복사 - 배열 복사 먼저 단순 복사 코드를 보고 실행 시간을 확인해 보자. (SW Expert Academy 문제에서 비교) char 1000개의 배열 a를 for를 이용해 b에 복사한다. #include #include /* memcpy test */ #define MAX (100.. 2023. 8. 15.
함수의 매개변수와 배열의 register 속도 비교 삼성 B형 전체 링크 참고 - 변수 register 테스트 - B형에 필요한 최적화 코드 (1) (register 변수) - B형에 필요한 최적화 코드 (2) - 함수의 매개변수와 배열의 register 속도 비교 - 삼성 B형 디버깅 Tip - 비주얼 스튜디오 output.txt 설정하기 - 삼성 SW 역량 시험 환경에서의 인라인 함수 - Visual Studio LNK1168: 쓰기용으로 열 수 없습니다 해결방법 변수 외에도 함수의 매개변수나 배열에 register 키워드를 추가하면 속도 향상 효과를 볼 수 있다. 특히, 자주 사용하는 배열일수록 효과적이다. 매개변수 register 같은 동작을 하는 test1과 test2 함수가 있다. test2는 parameter에 register를 추가하였다. .. 2023. 8. 15.
#define printf 재정의를 이용한 로그 출력 디버깅 팁 삼성 B형 전체 링크 삼성 C형 전체 링크 printf를 이용하여 로그를 출력해서 디버깅을 완료하였다고 하자. 이제 정답을 제출해야 되므로 printf를 모두 삭제하거나, 주석 처리해야 한다. 하지만 이 과정은 꽤 번거롭다. 지우는 것도 일이지만, 정답이 아닌 경우 지웠던 printf를 다시 복구하는데 시간이 꽤 많이 쓰인다. #define을 이용해서 printf를 재정의하면 이런 일을 간단히 해결할 수 있다. 아래 코드를 실행해보자. #include #define P printf int main() { P("hello!\n"); P(">> %s %d\n", "world", 100); return 0; } #define을 이용하여 printf를 P로 재정의했을 뿐이다. 그러니 원래 printf의 효과와 .. 2023. 7. 29.
BOJ 1655 : 가운데를 말해요 with 세그먼트 트리 알고리즘 문제 전체 링크 삼성 B형 전체 링크 삼성 C형 전체 링크 www.acmicpc.net/problem/1655 참고 - 구간 합 구하기 with 탑 다운 세그먼트 트리 (Top-Down Segment Tree) - 구간 합 구하기 with 바텀 업 세그먼트 트리 (Bottom-Up Segment Tree) - BOJ 1655 : 가운데를 말해요 with 우선순위 큐 - 세그먼트 트리를 이용한 링크드 리스트의 삽입과 삭제 세그먼트 트리를 이용해 가운데 값을 찾아보자. 세그먼트 트리를 이용하면 index를 잘 관리해서 중앙값을 구할 수 있다. 설명을 위해 입력되는 숫자의 범위가 1 ~ 16이라고 가정하자. 그러면 아래와 같은 트리를 만들어야 한다. (파란색 숫자는 tree의 index) 아래의 배열.. 2023. 1. 19.
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.
반응형