자료구조 2

Pro 취득에 대한 후기

개요 && 스토리 2022하반기 신입 공채로 삼성 SDS에 입사를 했다. 사실 코딩 테스트는 문제가 아니었다. 삼성 코테는 구현 시뮬레이션 문제가 대부분이었고, 심지어 기출도 백준에 차고 넘칠 만큼 많았기 때문이다. 이제 내가 풀었던 검투사 문제까지 백준에 있을 것이다.(아마도?) 하지만 입사를 하고 나서 삼성 SW Certificate. Pro. 자격이라는 것이 있음을 알게 됐다.(나만 몰랐나보다) 회사 개발자 인원 중 대부분이 가지고 있었고, 따게 된다면 월 고정 인센티브가 x0만원이 붙어서 연봉이 백단위로 오르는... 그런 자격증이었다. 실제로 그걸 따기 전에는 진짜 사원 취급을 안 해주는 느낌도 조금 들긴 했고. 그래서 (반 강제로) 치기 시작했지만, 통과할 수가 없었다. Segment Tree,..

SegmentTree(IndexedTree)의 구현

프로 공부를 하면서 처음으로 시작한 자료구조는 Indexed Tree(Segment Tree)이다. 부분 결과(합,곱,최대,최소 등)에 대한 것을 Tree 자료 구조 안에 저장하여 빠른 query( O(log n)) 및 update( O(log n)) 를 가능케 하는 자료구조이다. 삼성 Pro의 경우 최적화가 많이 나오기에 빠른 자료구조를 찾는 것이 우선일테니, 그럼 이 자료구조가 첫 자료구조로 최적일지도 모른다고 생각했다. 입력 값들은 모두 leafNode에 존재하며, 만약 값이 없더라도 초기화 값(0이든 뭐든) 으로 라도 2^n 개의 형태를 유지하게 된다. depth는 그러므로 (올림연산)(log(초기값의 길이)/log(2)) 로, 이 depth 값이 앞서 말한 leaf 개수 연산의 n이 된다. tr..