코딩/삼성 알고리즘 특강

[SWEA] 삼성알고리즘특강 후기

최선을 다하는 2022. 3. 12. 17:15

 저번 주 토요일 검정시험을 마지막으로 방학 동안 했던 SWEA 특강이 마무리되었다.

풀어야 하는 문제 수도 많고 쉽게 쉽게 풀리지 않는 문제들이 대다수였는데 이 때문에 코딩 문제 풀이 실력이 많이 는 것 같다. 특히 인상 깊었던 것 세 가지를 꼽자면 비트 마스킹/ 메모리풀 / 해시라고 할 수 있을 것 같다.

 

 우선 비트 마스킹은 이름만 많이 들어보고 실제로 사용해본 적이 없던 것 같다. 배열을 사용해도 풀 수 있는 문제들이 많았기 때문인데 비트 마스킹을 사용하다보니 배열과 비트마스킹이 서로 강한 부분들을 느낄 수 있었고 이제는 그래도 상황에 맞게 비트마스킹을 사용할 수 있게 된 것 같다.

 

  그다음으로는 링크드리스트 자료구조를 사용할 때 메모리풀 기법을 사용하는 것이었다. 실제 코딩 테스트 문제에서는 malloc을 사용하면 굉장히 느리다고만 알고 있어서 링크드 리스트는 그냥 이론으로 배우는 자료구조인 줄만 알았다. 분명 링크드리스트가 배열보다 유리한 부분들이 있지만 실제로 활용하지 못했다. 예를 들어 그래프 문제를 풀 때 인접 리스트 같은 경우 인접 행렬로 대체했던 것 같다. 하지만 메모리풀을 배운 다음부터 링크드 리스트를 활용해야 하는 실전 문제들에 사용할 수 있게 되었다. 메모리풀을 배움으로써 코딩 테스트에 사용할 수 있는 무기가 많아졌다고 느껴졌다.

 

 마지막으로는 해시다. 해시는 해시 버킷으로 나누어 관리한다 정도의 개념만을 알고 있었는데 실제로 배운 해시는 굉장히 구현도 내용도 어렵다고 느꼈다. 특히 해시를 한 번도 다뤄보지 못했는데 그 이유는 문자열 처리 문제를 코딩 문제로 거의 풀지 않았기 때문인 것 같다. 이번 특강에서 map을 활용하여도 해시 맵을 구현할 수는 있으나 실행시간이 굉장히 느리다는 것을 알게 되었고 직접 코딩하는 부분을 알게 되었다. 해시 부분은 어렵다고 느껴져 한 문제 한 문제 푸는데 시간이 오래 걸려 많은 문제를 풀어보지 못했다. 해시 맵은 익숙해질 때까지 많은 연습이 필요하겠다고 느꼈다.

 

 위에서 배운 내용 말고도 라이브 코딩에서 느낀 점도 되게 많다. 42 서울 체크인 미팅을 신청하지 못해서 차선책으로 선택한 SWEA 특강이었는데 다른 사람들과 프로젝트를 하기 전에 내 코딩 실력을 올려놓을 수 있는 좋은 기회가 되었다고 느껴 오히려 체크인 미팅을 신청하지 못한 것이 좋은 기회가 된 것 같다! 문제도 친구의 도움을 받아 턱걸이 42/53문제를 풀고 검정시험문제도 풀지 못했지만 그래도 나는 최선을 다했다! 누군가 SWEA를 추천하냐고 묻는다면 추천할 것 같다.

 

 

    알고리즘 특강 문제에 대한 내 코드는 아래의 깃허브 주소에 있다.

https://github.com/Ho-hoho/SWEA

 

GitHub - Ho-hoho/SWEA

Contribute to Ho-hoho/SWEA development by creating an account on GitHub.

github.com

 

'코딩 > 삼성 알고리즘 특강' 카테고리의 다른 글

[SWEA] 실전 문제 풀이  (0) 2022.02.17
[SWEA] 8. 해쉬  (0) 2022.02.11
[SWEA] 7. 힙  (0) 2022.02.04
[SWEA] 설날 밀린 문제 풀이  (1) 2022.02.02
[SWEA] 6. 트리  (0) 2022.01.27